Ich versuche, einen bitweisen oder auf einen byte
Wert, den ich in Java habe, durchzuführen.Java bitweise oder zwischen Byte und Int
Zum Beispiel habe ich leite:
byte b = (byte)0b11111111;
int result = 0 | b;
Mein erwartetes Ergebnis für diesen 0b00000000 00000000 00000000 11111111
wäre, oder 255
. Ich erhalte jedoch -1
oder 0b11111111 11111111 11111111 11111111
.
Ich gehe davon aus, dass Java konvertiert meine byte
in ein int
über Vorzeichenerweiterung vor der Durchführung die Operation, und ich war nur neugierig, ob es ein Weg mein gewünschtes Ergebnis zu erhalten, ohne eine Bitmaske (0b11111111
).
"ohne Verwendung einer Bitmaske" Die Antwort ist, eine Bitmaske zu verwenden. Es gibt keinen wirklichen Weg in Java. –