标签: java variables declaration ampersand
此代码中&符号的含义是什么?
int clothes = (random.nextInt(0x1000000) & 0x7f7f7f);
答案 0 :(得分:14)
这是bitwise AND运营商。
它独立地操作每个位位置;如果位置 n 中的相应输入位也都为1,则位置 n 中的输出位仅为1.
在此上下文中,0x7f7f7f被用作bit-mask。通过将某些位位置设为0,意味着clothes中的相应位位置总是为0.所有其他位位置将采用与{{1}生成的值相同的值}。
0x7f7f7f
clothes