位运算是C语言提供的对二进制位的操作功能。它应用于整型数据,即把整型数据看成固定的二进制序列,让后对这些二进制序列进行一些按位运算。C语言提供了6中基本的位运算功能:按位与、按位或、取反、异或、左移、右移,下面将分别进行介绍:
按位与运算(&)
按位与运算是指对两个运算量相应的位进行逻辑与,“&”的运算规则与逻辑与“&&”相同。
运算规则:全1出1 ,否则出0
按位或运算(|)
按位或运算是指对两个运算量相应的位进行逻辑或,“|”的运算规则或逻辑或“||”相同
运算规则:有1出1,无1出0
取反运算(~)
按位取反运算是将二进制表示的预算对象按位取反,将1变为0,将0变为1.
异或运算(^)
按位异或运算的规则是:两个运算量相应位相同,则结果为0,相异则结果为1
移位运算(<<和>>)
左移和右移是吧整数作为二进制位序列,求出把这个序列左右移动若干位之后得到的序列。