Comportamento do deslocamento à direita não assinado aplicado à variável de bytes
Considere o seguinte trecho de código java
byte b=(byte) 0xf1;
byte c=(byte)(b>>4);
byte d=(byte) (b>>>4);
resultado:
c=0xff
d=0xff
resultado esperado:
c=0x0f
quão? como b em binário1111 0001
após mudança à direita sem sinal0000 1111
conseqüentemente0x0f
mas porque é0xff
quão?