有两个字节,如何通过从第一个字节中取出前 3 位和从第二个字节中取出后 5 位来创建一个新字节?
例如,对于11100000
and 00011111
==>11111111
怎么办?
我正在使用 Java。
有两个字节,如何通过从第一个字节中取出前 3 位和从第二个字节中取出后 5 位来创建一个新字节?
例如,对于11100000
and 00011111
==>11111111
怎么办?
我正在使用 Java。
byte b1, b2;
取前 3 位:b1 & 0xE0
取最后 5 位:b2 & 0x1F
连接:b1 | b2
使用掩码0xE0
(11100000) 和0x1F
(00011111),您可以屏蔽掉不需要的位,并按位或将它们一起屏蔽:
byte b1 = 123; // 01111011
byte b2 = 50; // 00110010
byte b3 = (b1 & 0xE0) | (b2 & 0x1F); // = 114 01110010
(b1 & 0xe0) | (b2 & 0x1f)