第9章 C语言的位运算.pptVIP

  • 5
  • 0
  • 约2.9千字
  • 约 11页
  • 2017-02-20 发布于河南
  • 举报
第九章  位运算 (“右移”) 运算功能:将一个数的各个二进制位全部向右平移若干位,右边移出的部分予以忽略,左边空出的位置对于无符号数补零,对于有符号数,若原符号位为0,则补0,若原符号位为1,则全补1。也就是右移后保持这个数的正负符号不变。 例如,-32,将3右移2位,左边(最高位)补1,结果为-1。 (按位“与”) 运算规则:00=0,01=0,10=0,11=1 例如,-53的值为3。其中-5的补码(为简便起见,用8位二进制表示)为1111 1011,3的补码为0000 0011,按位与的结果为0000 0011,即值为十进制数3。 ^(按位“异或”) 运算规则为:0^0=0,0^1=1,1^0=1,1^1=0 例如,-5^3的值为-8。  位段结构也是一种结构体类型,只不过其中含有以位为单位定义存储长度的整数类型位段成员。采用位段结构既节省存储空间,又可方便操作。 位段结构中位段的定义格式为: unsigned 成员名:二进制位数  位段数据的引用,同结构体成员中的数据引用一样,但应注意位段的最大取值范围不要超出二进制位数确定的范围,否则超出部分会丢弃。 关于位段数据,注意以下几点: (1)一个位段必须存储在同一存储单元(即字)之中,不能跨两个单元。如果其单元空间不够,则剩余空间不用,从下一个单元起存放该位段。 (2)可以通过定义长度为0的位

文档评论(0)

1亿VIP精品文档

相关文档