第11章-位运算

数字系统、位和字节

  • 数字系统

    • 数码
    • 基数
    • 位权
  • 位和字节

    • 位(bit)

      计算机内构成信息的最小数据单位,即一个1或0,一般用小写字母“b”表示

    • 字节(Byte)

      计算机数据存储和处理信息的基本数据单位。一个字节为8位,即8个二进制位是一个字节。简记为"B",则有1B=8b。

      1KB=2^10B=1024B

      1MB=220B=210×2^10B=1024×1024b

位运算符与位运算

  • 与(&)、或(|)、异或(^)、取反(~)

  • 左移(<<)、右移(>>)

  • 位运算赋值运算符

    a&=0x19等价于a=a&0x19
    a<<=2等价于a=a<<2
    

位段

  • 位段结构类型

    struct packed_falg
    {
        unsigned int  f1:1;
        unsigned int  f2:1;
        unsigned int  f3:1;
        unsigned int type:4;
        unsigned int index:9;
    }
    struct 位段结构类型名
    {
        类型说明符1  位段名1:位段1占用位数;
        类型说明符2  位段名2:位段2占用位数;
    }
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cm6KWKA7-1637821740348)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1637820423749.png)]

    位段类型只能是int或unsigned类型;

    无名位段是位段之间的分隔作用。

  • 位段结构类型变量的定义与引用

    struct packed_flag data;
    	   位段结构类型名 变量名
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值