java里&表示什么

来源:百度知道 编辑:UC知道 时间:2024/06/19 19:17:06
java里&都表示什么意思

random.nextInt() & 0x7fffffff,这个代码是什么换算,这里&表示什么意思

逻辑运算符号
单个&是位与的意识
random.nextInt() 是随即获得一个int范围的整数 然后转成2进制
0x7fffffff 是16进制也要转成2进制
然后用位于运算符运算
比如随即出来的数字是10
10转成2进制就是1010
然后你的0x7fffffff转成2进制是11111111111111111111111不知道几个...汗..
然后运算
1010
& 11111111111
-----------------
00000001010

运算规则是要2个为1时才为1
得出答案1010
转为10进制输出就为10;

位逻辑运算符

包括:
& 与;| 或;~ 非(也叫做求反);^ 异或

“& 与”、“| 或”、“~ 非”是基本逻辑运算,由此可以演变出“与非”、“或非”、“与或非”复合逻辑运算。“^ 异或”是一种特殊的逻辑运算,对它求反可以得到“同或”,所以“同或”逻辑也叫“异或非”逻辑。

例子:
5&3=1
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0001

-5&3=1
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0011

5|3=7
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 00