Unsigned int in signed int umwandeln

RalleYTN

Bekanntes Mitglied
Hey Loits!
Versuche gerade die Kopfdaten von OGG Dateien auszulesen.
Bin auf das Problem gestoßen, dass ich Daten unsigned speichere, diese jedoch als signed benötigt sind.

Java:
int o1 = (readData.get(readData.size() - 2) & 0xFF) << 24; // octet 1
int o2 = (readData.get(readData.size() - 3) & 0xFF) << 16; // octet 2
int o3 = (readData.get(readData.size() - 4) & 0xFF) << 8; // octet 3
int o4 = readData.get(readData.size() - 5) & 0xFF; // octet 4
int unsignedInt = o1 | o2 | o3 | o4; // muss jetzt signed werden.

Habe jedoch jetzt keine Ahnung wie ich das mache.
 
Aha ich sehe gerade eine Konversion ist doch nicht notwendig.
0xFFFFFFFF liefert ja bereits -1. OK da stand ich einfach auf dem schlauch.
Wenn man den Wert beibehalten möchte ist @stg Lösung richtig.

EDIT: tatsächlich musste ich die Lösung von @stg 3 header felder weiter anwenden.
 

Neue Themen


Zurück
Oben