从int转换为4字节unsigned int

时间:2014-03-10 21:41:43

标签: byte masking

我正在尝试将int转换为4字节无符号整数。我正在阅读一篇帖子,我不确定比较是做什么的。我知道它是一个子面具,但我不确定何时使用&何时使用|。让我们使用数字6作为例子,如果LSB是数字6.我们为什么要这样做

6 & 0xFF// I know that we are comparing it to 11111111 

我们何时使用OR运算符?我还不确定如何使用&也不是|

1 个答案:

答案 0 :(得分:0)

除了最后一个字节(保持不变)之外,

x & 0xFF会将x的所有位设置为零。如果您使用了按位或(|),它将保留x的位,并将最后一个字节的所有位设置为1.

通常,比较类似(x & 0xFF) == x。这是为了确保x的前三个字节都是0。