java对二进制数操作

现在数据库里有个字段,存的是二进制数据,bit0-bit7代表一个意思,bit8-bit15代表另一个意思,用java怎么取这两段呢

short a=0x1234;
byte b=(byte)(a>>8);//高字节
byte c=(byte)a;//低字节

代码

// 16位 2字节
short origin = 0b0011_0001_0000_1111;
System.out.println(Integer.toBinaryString(origin));
// 前8
byte higher = (byte) (origin >> 8);
System.out.println(Integer.toBinaryString(higher));
// 后8
byte lower = (byte) origin ;
System.out.println(Integer.toBinaryString(lower));

结果

11000100001111
110001
1111