这段代码中的“&”号是什么意思?
int clothes = (random.nextInt(0x1000000) & 0x7f7f7f);
最佳答案
它是bitwise AND运算符。
它在每个位上独立运行;如果位置n的两个相应输入位也均为1,则位置n的输出位仅为1。
在这种情况下,0x7f7f7f
用作bit-mask。通过将某些位位置设为0,这意味着clothes
中的相应位位置将始终为0。所有其他位位置将采用与random.nextInt(0x1000000)
产生的值相同的值。