Рассмотрим следующий снимок java-кода
byte b=(byte) 0xf1;
byte c=(byte)(b>>4);
byte d=(byte) (b>>>4);
выход:
c=0xff
d=0xff
ожидаемый вывод:
c=0x0f
как?
как b в двоичном 1111 0001
после беззнакового сдвига вправо 0000 1111
следовательно 0x0f
, но почему это 0xff
как?