本文介绍了关于“Java中的位操作和移位操作是什么”的知识。很多人在实际办案过程中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
位运算
按位“与”
规则:如果两个对应的二进制形式对应的数字为1,则结果为1;否则为0;
4 5
四
0000 0100
五
0000 0101
逐位“与”运算
4 5=4
0000 0100
1 * 2^2=4
-4 5
-4
1111 1100
五
0000 0101
逐位“与”运算
规则:运算结果的符号位为1,为负数。它需要减去1,然后反转(其他操作也应该跟随)。
-4 5=4
0000 0100
1 * 2^2=-4
1.正数直接进行二进制运算。
2.取负数加1得到它的补数,然后计算。所得结果的符号位为0,因此无需任何运算即可直接给出结果。
00-1010规则:1为1;否则为0;
4 | 5
四
0000 0100
五
0000 0101
逐位或运算
|
4 | 5=5
0000 0101
1 * 2^0 1 * 2^2=5
-4 | 5
-4
1111 1100
五
0000 0101
逐位或运算
|
规则:运算结果的符号位为1,为负数。它需要减去1,然后反转(其他操作也应该跟随)。
-4 | 5=
1111 1101
负1
1111 1100
收回
-0000 0011
-4 | 5=-3
1 * 2^0 1 * 2^1=-3
按位“或” |
规则: 相同为 0;不同为 1;
4 ^ 5
4
0000 0100
5
0000 0101
按位异或运算
^
4 ^ 5 = 1
0000 0001
1 * 2^0 = 1
-4 ^ 5
-4
1111 1100
5
0000 0101
按位异或运算
^
规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循)
-4 ^ 5 =
1111 1001
减1
1111 1000
取反
-0000 0111
-4 ^ 5 = -7
1 * 2^0 + 1 * 2^1 + 1 * 2^2 = -7
移位运算
左移 <<
规则: 右边空出的位用 0 填补高位,左移溢出则舍弃该高位。 |
||
8 << 2 |
||
8 |
0000 1000 |
|
<< 2 |
0010 0000 |
|
左移运算符 |
<< |
|
结果 |
8 << 2 = 32 |
|
1 * 2^5 = 32 |
||
-8 << 2 |
||
-8 |
1111 1000 |
|
<< 2 |
1110 0000 |
|
左移运算 |
<< |
|
规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循) |
||
减1 |
1101 1111 |
|
取反 |
-0010 0000 |
-8 << 2 = -32 |
1 * 2^5 = -32 |
右移 >>
规则: 左边空出的位正数用 0 负数 1 填补,右移溢出则舍弃该低位。 |
||
8 >> 2 |
||
8 |
0000 1000 |
|
>> 2 |
0000 0010 |
|
左移运算符 |
>> |
|
结果 |
8 >> 2 = 2 |
|
1 * 2^1 = 2 |
||
-8 >> 2 |
||
-8 |
1111 1000 |
|
>> 2 |
1111 1110 |
|
左移运算 |
>> |
|
规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循) |
||
减1 |
1111 1101 |
|
取反 |
-0000 0010 |
-8 >> 2 = -2 |
1 * 2^1 = -2 |
无符号右移 >>>
规则: 正数与右移规则一样;负数无符号右移,在高位补 0 |
||
8 >>> 2 |
||
8 |
0000 1000 |
|
>> 2 |
0000 0010 |
|
无符号右移运算符 |
>>> |
|
结果 |
8 >>> 2 = 2 |
|
1 * 2^1 = 2 |
||
-8 >>> 2 |
||
-8 |
1111 1111 1111 1111 1111 1111 1111 1000 |
|
>>> 2 |
0011 1111 1111 1111 1111 1111 1111 1110 |
|
无符号右移运算符 |
>>> |
|
规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循) |
||
减1 |
- |
|
取反 |
- |
-8 >>> 2 = 1073741822 |
1073741822 |
“Java中的位运算与移位运算有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/156263.html