C语言中位移位运算符.docxVIP

  • 2
  • 0
  • 约3.6千字
  • 约 6页
  • 2017-02-04 发布于北京
  • 举报
C语言中位移位运算符

C语言中位移位运算符 位移位运算符/rrj/cpp/cjz22.htm 位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。 位移位运算符的运算对象、运算规则与结果、结合性如表2-16所示。 移位时,移出的位数全部丢弃,移出的空位补入的数与左移还是右移花接木有关。如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是否带符号有关。若是不带符号数,则补入的数全部为0;若是带符号数,则补入的数全部等于原数的最左端位上的原数(即原符号位)。具体移位规则如下所示。 位移位运算符的优先级如下: ·算术运算符 优先于 位移位运算符 优先于 关系运算符  ·位移位运算符是同级别的,结合性是自左向右 例如,设无符号短整型变量a为0111(对应二进制数为0000000001001001), 则:a3 结果为01110(对应二进制数为0000001001001000),a不变,a4 结果为04 (对应二进制数为0000000000000100),a不变,又如,设短整型变量a为-4(对应二进制数为1111111111111100),  则:a3 结果为-32(对应二进制数为1111111111100000),a不变 a4 结果为-1(对应二进制数为11111111111

文档评论(0)

1亿VIP精品文档

相关文档