Consider the following snip of java code
byte b=(byte) 0xf1; byte c=(byte)(b>>4); byte d=(byte) (b>>>4); output:
c=0xff d=0xff expected output:
c=0x0f how? as b in binary 1111 0001 after unsigned right shift 0000 1111 hence 0x0f but why is it 0xff how?