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