【C++】& 0xff 的用法

在一些情况下,我们会在别人的代码中看到& 0xff,刚开始我也不知道为什么会有这个用法,查了一些资料后,学习如下。

首先,&表示按位与,只有两个位同时为1才能得到1;0x代表16进制数,0xff表示二进制1111 1111,8个位占一个字节。

【C++】& 0xff 的用法_第1张图片

1.保留低8位

例如,有个数字 0x1234,如果只想将低8位写入到内存中,就需要用0x1234 & 0xff。
0x1234 表示成二进制是 0001 0010 0011 0100,0xff 表示成二进制是 1111 1111,高位补0就是 0000 0000 1111 1111。
因为1&0 =0, 1&1 =1,所以0x1234 & 0xff运算后,最低8位不会发生变化。

2.保证补码的一致性

还没用到

以上。

你可能感兴趣的:(后端开发,c++,学习)