《零点起飞学C语言(康莉)》读书笔记九

第十一章 C语言的最小数据单位——位


1.位-bit:表示一个二进制数码0或1,是电子计算机中最小的数据单位。



2.字节-Byte:8个二进制位构成1个“字节”,它表示作为一个完整处理单位的8个二进制数码。是存储空间的基本计量单位。


3.原码:0表示正号,1表示负号。用二进制表示。

最大值为127,最小值为-127。


4.反码:正数的反码与原码相同,负数的反码对原码各位取反(符号位除外)。


5.在反码中0是有正负之分的。


6.补码:正数的补码与原码相同,负数的补码是原码各位取反再加1(符号位除外)

a.使用符号位能与有效值部分一起参加运算,从而简化运算规则。

b.使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。


7.位运算符:

按位与-&:都是1,才是1。作用:清0,保留某些位,取某个数中某些指定位

按位或-|:都是0,才是0。

按位异或-^:不同为1,相同为0。作用:将某些位翻转。交换两个变量的值。

取反-~:1变0,0变1。~比算术、关系、逻辑及其它位运算符,优先级都高。

左移-<<:各二进制位全部左移若干位,高位丢弃,低位补0。

右移->>:各二进制位全部右移若干位,正数高位补0,负数高位补1。


8.位段-(位域,位字段)P305

把一个字节中的二进制位划分为几个不同的区域,并说明每个区域的位数。


9.位段是一种特殊形式的结构体类型中的成员。


10.定义形式:

struct 位段结构名

{

  位域列表

}


如:

struct pack 

{

  int a:8;//a占用8个二进制位数

  int b:2;

  int c:6;

}


11.一个位段必须存储在同一个字节中,不能跨两个字节。


12.位段可以无位段名,用来填充或调整位置。无名的位段是不能使用的。


13.位段的引用和结构成员引用相同,位段变量名.位段名。


14.给位段赋值时位段能存储的最大值。如data.b占2位,存储的最大值为3.如果赋值给9(1001),就会溢出,只能存储低2位,(01)即1.


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

豪冷啊

你的鼓励是对我的认可!

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

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

打赏作者

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

抵扣说明:

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

余额充值