二级C++精品课程3-1-5:C++运算符之位运算符

2014-11-21 21:20:24 · 作者: · 浏览: 43

  位操作运算符是用来进行二进制位运算的运算符。它分为两类:逻辑位运算符和移位运算符。
  1、逻辑位运算符
  (1)单目逻辑位运算符:~(按位求反)
  作用是将各个二进制位由1变0,由0变1。
  (2)双目逻辑运算符:&(按位与),|(按位或),^(按位异或)
  其中优先级&高于^,而^高于|。
  & :两个都为1时结果为1。
  | :两个其中有一个为1则结果为1。
  ^ :两个不同则结果为1,否则为0。
  2、移位运算符
  移位运算符有两个,<<(左移)、>>(右移)。两个 都是双目运算符。
  例. 指出下面表达式的功能。
  (p&0377)|(k&0xff)<<8
  答:将整数p的低字节作为作为结果的低字节,k的低字节作为结果的高字节拼成一个新的整数。


   针对两个操作数011和027,表3-8给出各个位运算符的计算实例,运算结果在表3-7中。为了避免符号位的麻烦(它与机器有关),我们采用无符号的整数。
  unsigned char x = '\011';
  unsigned char y = '\027';