Java-位运算
Posted 枯木fc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-位运算相关的知识,希望对你有一定的参考价值。
1、左移(<<)
二进制数向左移动两位,低位补0
2、右移(>>)
二进制数向右移动两位,高位补0
当十进制数是负数时,二进制高位均为1,此时右移高位补1
3、无符号右移(>>>)
当十进制数是负数时,二进制高位均为1,此时无符号右移高位补0
4、位与(&)
00、01、10均为0
11为1
5 & 3为1
0101 ---- 5
0011 ---- 3
0001 ---- 1
5、位或(|)
00为0
01、10、11均为1
5 | 3为7
0101 ---- 5
0011 ---- 3
0111 ---- 7
6、位异或(^)
00、11为0
01、10为1
5 ^ 3为6
0101 ---- 5
0011 ---- 3
0110 ---- 6
7、位非(~)
相当于取反
0为1
1为0
~5为-6
0000 …… 0101 ---- 5
1111 …… 1010 ---- -6
以上是关于Java-位运算的主要内容,如果未能解决你的问题,请参考以下文章
Java位运算:位异或运算位与运算位或运算位取反运算左位移运算右位移运算无符号右移运算不用额外变量交换两个整数的值(使用位异或运算)