章节导学第12章 位运算

字节是存取数据的最小单位,也是许多高级编程语言处理数据的最小单位。C语言支持位运算,位运算是指按二进制位进行的运算,也就是以二进制位为单位对整数进行运算。位运算常用于操作“状态标志”中每个状态位的状态。

考虑这样的问题:编程控制编号为0至7的八盏灯的开关。

可以定义一个长度为8的短整型数组变量a,如果a[0]的值为1,则0号灯亮;值为0,则0号灯不亮。当内存空间有限时,这个解决方案太浪费存储空间。一盏灯的状态只需二进制的一位就可以描述,因此可以定义一个无符号的字符型变量c,用c的每一位对应于一盏灯,其值为1时相应的灯亮,为0时相应的灯灭。如果c的值为128(1000 0000),则7号灯亮,其余灯灭;为192时(1100 0000),则6号和7号灯亮,其余的灭。通过每盏灯的状态变化来模拟“开灯”和“关灯”操作。此方案虽然节约了存储空间,但是要改变某盏灯的状态而不影响其他灯的,却并非易事。位运算可以解决这个难题。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值