Sto tentando di eseguire un bit per bit o un valore byte
in Java.Java Bitwise o Between Byte e Int
Per esempio, io sono in esecuzione:
byte b = (byte)0b11111111;
int result = 0 | b;
mio risultato atteso per questo sarebbe 0b00000000 00000000 00000000 11111111
, o 255
. Tuttavia, sto ricevendo -1
o 0b11111111 11111111 11111111 11111111
.
sto supponendo che Java converte il mio byte
in un int
tramite estensione del segno prima di eseguire l'operazione, ed ero solo curioso di sapere se ci fosse un modo per ottenere il mio risultato desiderato senza l'utilizzo di una maschera di bit (0b11111111
).
"senza l'utilizzo di una maschera di bit" La risposta è quello di utilizzare una maschera di bit. Non c'è un modo per aggirare questo in Java. –