5.2.5  位操作运算符

5.2.5 位操作运算符

C语言中的位操作运算符包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位左移(<<)、按位右移(>>)6种。位运算符的逻辑真值表见表5-3。

5-3 位运算符的逻辑真值表

978-7-111-59182-5-Part01-227.jpg

位取反运算符~:

例如:unsigned char x=0x9a,y;

y=~x;

结果:y=0x65,x=0x9a

位左移运算符<<:左移1位相当于乘以2。左移运算中高位移出舍弃不用,低位自动补0。

例如:unsigned char x=15;

x=a<<1;

结果:x=30

位右移运算符>>:右移1位相当于除以2。右移运算中低位移出舍弃不用,高位对无符号数补0。