概念:
所谓位运算是指进行二进制位 的运算。在系统软件中,常要处理二进制位的问题。
C提供的位运算有:
& 按位与————对于一个单元清零、取一个数中的某些指定位以及保留指定位有很大用途
| 按位或————被用来将一个数的某些位置为1
^ 按位异或 ——相同为0,不同为1. 常用来使特定位翻转
<<左移————将一个数的各个二进制位全部左移,高位左移后溢出不用,低位补零。左移一位相当于该数乘以2,左移n位相当于该数乘以2的n次方。
>>右移————右移时要注意符号的问题。对无符号的数,右移时左边高位移入0.对于有符号的数,如果原符号位置为0(正数),则左边为0.但是如果符号位为1(负数),则左边移入0还是1要取决于系统。移入0为“逻辑右移”,移入1的为“算数右移”