Vielleicht habe ich ein Brett vor dem Kopf aber ich komme einfach nicht drauf.
Ich möchte mit einer Methode prüfen/ausführen, dass ein 4Byte signed Hex-Ausdruck auf die kürzest mögliche Byteanzahl reduziert wird.
Dies ist möglich, da der resultierende Wert später anhand seiner Byteanzahl interpretiert und nicht aufgefüllt wird.
Integer 1 -> 0x00000001 -> 0x01
Integer 256 -> 0x00000100 -> 0x0100
Integer 16777216 -> 0x10000000 -> 0x10000000
Integer -1 -> 0xffffffff -> 0xff
Integer -256 -> 0xffffff00 -> 0xff00
Integer -285214972 -> 0xeefff704 -> 0xeefff704
Ich habe natürlich schon gegoogelt. Die Standardvorschläge wie
Und wie ich die Methoden kombinieren könnte um zum Ziel zu kommen, hat sich mir bisher nicht erschlossen.
Gibt es dafür irgendeine Standardmethode, die ich bisher übersehen habe? Vielleicht in der ByteBuffer Klasse?
Ich möchte mit einer Methode prüfen/ausführen, dass ein 4Byte signed Hex-Ausdruck auf die kürzest mögliche Byteanzahl reduziert wird.
Dies ist möglich, da der resultierende Wert später anhand seiner Byteanzahl interpretiert und nicht aufgefüllt wird.
Integer 1 -> 0x00000001 -> 0x01
Integer 256 -> 0x00000100 -> 0x0100
Integer 16777216 -> 0x10000000 -> 0x10000000
Integer -1 -> 0xffffffff -> 0xff
Integer -256 -> 0xffffff00 -> 0xff00
Integer -285214972 -> 0xeefff704 -> 0xeefff704
Ich habe natürlich schon gegoogelt. Die Standardvorschläge wie
- Integer.parseInt(x, 16)
- Integer.parseUnsignedInt(x, 16)
- Integer.toHexString()
- Bitoperationen (&, |, >>, usw.)
Und wie ich die Methoden kombinieren könnte um zum Ziel zu kommen, hat sich mir bisher nicht erschlossen.
Gibt es dafür irgendeine Standardmethode, die ich bisher übersehen habe? Vielleicht in der ByteBuffer Klasse?