如何在Java中将int转换为三个字节?
我正在尝试将一个转换int
成三个bytes
表示那个int
(大端)。
我敢肯定,这与位和移位有关。但是我不知道如何去做。
例如:
int myInt;// some code
byte b1, b2 , b3; // b1 is most significant, then b2 then b3.
*注意,我知道一个int是4个字节,三个字节有上溢/下溢的机会。
回答:
要获取最低有效字节:
b3 = myInt & 0xFF;
第二个最低有效字节:
b2 = (myInt >> 8) & 0xFF;
和第三个最低有效字节:
b1 = (myInt >> 16) & 0xFF;
将值与0xFF(二进制为11111111)按位与将返回该数字中的最低有效8位(位0至7)。将数字右移8次会将第8至15位置于第0至7位位置,因此与0xFF进行与运算将返回第二个字节。类似地,将数字右移16次会将第16至23位置于第0至7位位置,因此与0xFF进行与运算可返回第3个字节。
以上是 如何在Java中将int转换为三个字节? 的全部内容, 来源链接: utcz.com/qa/412131.html