位运算
Posted 刘靖凯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位运算相关的知识,希望对你有一定的参考价值。
位操作符就是对数据按二进制位进行运算的操作符。
- & 与
- | 或
- ^ 异或
- ~ 求补
- << 左移
- >> 右移
& 与运算
例:
2的二进制表示: 00000010
10的二进制表示:00001010 与遇0为0
与运算的结果: 00001010
所以,2&10的结果为2。
| 或运算
例:
2的二进制表示: 00000010
10的二进制表示:00001010 或遇1为1
与运算的结果: 00001010
所以,2&10的结果为10。
^ 异或
例:
2的二进制表示: 00000010
10的二进制表示:00001010 异或同为0
与运算的结果: 00001000
所以,2&10的结果为8。
~ 求补
例:
10的二进制表示:00001010 求补全反转
求补运算的结果: 11110101
<< 左移 >> 右移
例:
10的二进制表示:00001010,
左移一位为00010100(20), 移位最麻烦
左移两位为00101000(40)。 除头尾补零
以上是关于位运算的主要内容,如果未能解决你的问题,请参考以下文章
Java位运算:位异或运算位与运算位或运算位取反运算左位移运算右位移运算无符号右移运算不用额外变量交换两个整数的值(使用位异或运算)只出现一次的数字
Java位运算:位异或运算位与运算位或运算位取反运算左位移运算右位移运算无符号右移运算不用额外变量交换两个整数的值(使用位异或运算)只出现一次的数字