Here is a Java Program to Unsigned shifting a byte value
Output of Above Java Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | class ByteUShift { static public void main(String args[]) { char hex[] = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' }; byte b = ( byte ) 0xf1 ; byte c = ( byte ) (b >> 4 ); byte d = ( byte ) (b >>> 4 ); byte e = ( byte ) ((b & 0xff ) >> 4 ); System.out.println( " b = 0x" + hex[(b >> 4 ) & 0x0f ] + hex[b & 0x0f ]); System.out.println( " b >> 4 = 0x" + hex[(c >> 4 ) & 0x0f ] + hex[c & 0x0f ]); System.out.println( " b >>> 4 = 0x" + hex[(d >> 4 ) & 0x0f ] + hex[d & 0x0f ]); System.out.println( "(b & 0xff) >> 4 = 0x" + hex[(e >> 4 ) & 0x0f ] + hex[e & 0x0f ]); } } |
Output of Above Java Program
b = 0xf1 b >> 4 = 0xff b >>> 4 = 0xff (b & 0xff) >> 4 = 0x0f