Tenir compte de la snip suivante de code JavaComportement de décalage droit non signé appliqué à octet variable de
byte b=(byte) 0xf1;
byte c=(byte)(b>>4);
byte d=(byte) (b>>>4);
sortie:
c=0xff
d=0xff
résultat attendu:
c=0x0f
comment? comme b en binaire 1111 0001
après un décalage à droite non signé 0000 1111
donc 0x0f
mais pourquoi est-il 0xff
comment?
Peut-être que l'octet est le premier signe étendu à int – CodesInChaos