二进制的位运算
二进制的位运算:
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