二进制的位运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制的位运算相关的知识,希望对你有一定的参考价值。

二进制的位运算:

1、按位与 &

1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。

2)取数中指定位。取对应x位,该数的对应位为1,其余位为零。可以得到x位的指定位数。

 

2、按位或  |

1)常用来对一个数的某个位,置1。

 

3、异或运算 ^

1)使特定位翻转,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可。

2)与0相异保留原值。

值交换的方法:1、借助第三变量来实现:C=A;A=B;B=C;

2、利用加减法实现两个变量的交换:A=A+B;B=A-B;A=A-B;

3、用异或运算来实现,效率最高:A=A^B;B=A^B;A=A^B; 原理:利用一个数异或本身等于0和异或运算符合交换率。

 

4、取反运算 ~

二进制0/1交换

 

5、左移运算 <<

将一个运算对象的各二进制位全部左移若干位(左边二进制位丢弃,右位补0)

 

6、右移运算 <<

将一个运算对象的各二进制位全部右移若干位(右边二进制位丢弃;左位正数补0,负数补1)

 

7、无符号右移运算

将一个运算对象的各二进制位全部右移若干位,右边二进制位丢弃,左位补0

以上是关于二进制的位运算的主要内容,如果未能解决你的问题,请参考以下文章

二进制的位运算

ACM中的位运算技巧

Java中的二进制及基本的位运算

Java中的位运算

位运算和enum中的位运算

HashMap中的位运算