当在Java中给变量赋值时,使用“&”符号代表什么意思?

4
这段代码中的“&”符号代表什么意思?
int clothes = (random.nextInt(0x1000000) & 0x7f7f7f);
1个回答

14

这是 按位与 运算符。

它独立地对每个二进制位进行操作;当且仅当相应的输入二进制位在位置 n 上都为 1 时,输出位在位置 n 上才为 1。

在此情况下,0x7f7f7f 被用作 位掩码。通过将某些比特位置为 0,意味着 clothes 中对应的比特位置将始终为 0。所有其他比特位置将采用由 random.nextInt(0x1000000) 产生的相同值。


非常感谢您的编辑,它让事情变得更加清晰明了! - thatbennyguy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接