《c语言从入门到精通》看书笔记——第12章 位运算

1、按位运算就是对字节或字中的实际位进行检测、设置或移位。
     位运算符
     
2、位段的概念与定义
     位段类型是一种特殊的结构类型,其所有成员的长度均是以二进制位为单位定义的,结构中的成员被称为位段。位段定义的一般形式为:
       结构 结构名
          {
               类型     变量名 1:长度;
               类型     变量名 2:长度;
               。。。
               类型     变量名 n:长度;
          }
      一个位段必须被说明是int、unsigned或signed中一种。
     如:
     struct packed_data
     {
          unsigned a:2;
          unsigned b:1;
          unsigned c:1;
          unsigned d:2;
     }data;
     这里的a.b.c.d分别占2位,1位,1位,2位。
3、位段的相关说明
     (1)因为位段类型是一种结构类型,所以位段类型和位段变量的定义,以及对位段(即位段类型中的成员)的引用均与结构体变量相同。
     (2)某一位段要从另一个字节开始存放,则在中间加一句“ unsigned :0;
     (3)可以使各个位段占满一个字节也可以不占满一个字节。若不占满一个字节在末尾加上“int i;”即可。
     (4)一个位段必须存储在一个存储单元(通常为一个字节)中,不能跨两个存储单元。如果本单元不够容纳某个位段,则从下一单元开始存储该位段。
     (5)可以用“%d”、“%x”、“%u”、“%o”等格式字符,以整数形式输出位段。
     (6)在数值表达式中引用位段时,系统自动将位段转换为整形数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风中月隐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值