Ho una variabile di byte:Perché lo spostamento di bit senza segno di Java per un byte negativo è così strano?
byte varB = (byte) -1; // binary view: 1111 1111
Voglio vedere i due più a sinistra bit e fare un senza segno spostamento a destra di 6 cifre:
varB = (byte) (varB >>> 6);
Ma io sono ottenendo -1 come se fosse di tipo int e ottenendo solo se cambio per 30!
Come posso aggirare questo e ottenere il risultato solo con un cambio a 6 cifre?
Tutte le operazioni aritmetiche su un 'char',' byte' o 'short' promuovono a' int' prima. – Radiodef