jjn*_*guy 2 java byte bit-manipulation bit-shift
我试图将一个转换int为bytes三个代表int(大端).
我确定它与逐位和位移有关.但我不知道如何去做.
例如:
int myInt;
// some code
byte b1, b2 , b3; // b1 is most significant, then b2 then b3.
Run Code Online (Sandbox Code Playgroud)
*注意,我知道int是4个字节,三个字节有可能过度/不足.
Jer*_*ten 14
要获得最不重要的字节:
b3 = myInt & 0xFF;
Run Code Online (Sandbox Code Playgroud)
第二个最低有效字节:
b2 = (myInt >> 8) & 0xFF;
Run Code Online (Sandbox Code Playgroud)
第三个最低有效字节:
b1 = (myInt >> 16) & 0xFF;
Run Code Online (Sandbox Code Playgroud)
说明:
对0xFF(二进制11111111)的值进行按位AND运算将返回该数字中的最低有效8位(位0到7).将数字向右移动8次将位8到15放入位0到7,因此与0xFF进行AND运算将返回第二个字节.类似地,将数字向右移动16次将位16到23置于位0到7中,因此与0xFF进行AND运算会返回第3个字节.
| 归档时间: |
|
| 查看次数: |
7409 次 |
| 最近记录: |