1.按位与(&)【同1为1】
运算规则:0&0=0;0&1=0;1&0=0;1&1=1;
用途:
(1)清零。如果想将一个单元清零,只需与一个各位都为0的数值相与即可。
(2)取出一个数的指定位。与上 一个指定位为1,其余位为0的数值即可。(取位操作)
例:设x=11101100,取x的低四位。令x&00001111=00001100
2.按位或(|)【有1则1】
运算规则:0|0=0;0|1=1;1|0=1;1|1=1;
用途:
(1)常用来对某些位置1。或上 一个指定位为1,其余位为0的数值即可。
例:设x=11101100,将x的低四位置1。令x|00001111=11101111
3.异或(^)【同0异1】
运算规则:0^0=0;0^1=1;1^0=1;1^1=0;
用途:
(1)使特定位翻转,异或上 一个要翻转位数为1,其余位为0的数值即可。
例:设x=11101100,将x的低四位翻转。令x^00001111=11100011
(2)与0异或,保留原值。
(3)基于异或运算,不引用新变量,交换两个变量的值
(4)同时异或一个数两次等于原来的数,常用于简单的加密
4.左移(<<)【移动一位相当于原来的数乘2,两位乘4】
将原数转换成二进制,然后依次向左移动n位,移动过后的空位补零
5.右移(>>)【移动一位相当于原来的数除2,两位除4】
将原数转换成二进制,然后依次向右移动n位,移动过后的空位补零