java里&表示什么
来源:百度知道 编辑:UC知道 时间:2024/06/19 19:17:06
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