已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章位运算,位运算符及其应用位段及其应用,12.1位运算符和位运算表达式,C语言中提供了如下6种的位运算符:a=8;b=a运行结果:10101000,3)按位异或运算经常用与将某些位翻转。例12.5编程实现,将一整数n的高8位翻转,低8位不变分析:用“异或”运算实现,即高8位与1相异或,低8位与0相异或,也就是k与十六进制的ff00相异或。程序如下:main()intn=129;printf(nbeforereset,n=%x,n);n=n0 xff00;printf(nafterreset,n=%x,n);运行结果:beforereset,n=0000000010000001afterreset,n=1111111110000001结论:任何二进制位与0异或,保持不变;与1异或,对应位翻转。,4)左移、右移运算实现将一个数的各个二进制位向左、向右移若干位。左移:将一个数的各个二进制位左移若干位,高位左移后舍弃,低位补0。若定义:inta=8;即a=00001000,则语句a=a2;将a的各二进制位右移2位,空出的高位补0。结果为:00000010,12.2位段,1.位段的概念以位为单位定义其长度的结构体成员。2位段的定义例12.6若某个控制字长32位,分5段,每段的长度分别为:2,6,4,4,16位;每段存放一个信息,且第4段空出不用。可用如下结构体类型描述:structcon_wordunsigneda:2;/*位段a,长度为2*/unsignedb:6;/*a,b,c为有名位段*/unsignedc:4;unsigned:4;/*该位段为无名位段,表示这4位空间空出不使用*/inti;data;,变量data的存储结构如图:abci成员名264416长度3位段的引用位段是结构体类型的某个成员,因此,位段的引用同结构体成员的引用方法相同。如:data.a=0 x01;/*给位段a赋值,*/data.b=0 x0a;/*给位段b赋值*/data.i=12;/*给位段i赋值*/printf(“%02x,%02x,%4d”,data.a,data.b,data.i);输出:01,0a,12特别提示:使用位段时,要注意该位段的能表示的数据的范围。,4位段的应用编程模拟一个温度测控系统:从键盘输入模拟温度的采样值(0255),该采样值与0.2相乘,得出实际温度值,根据该温度值,控制温度指示灯的亮与灭(从0度开始,温度每增加10度则多点亮一个指示灯);将该温度值与设定温度比较,当温度小于10度和高于40度时分别开启升温设备和降温设备,同时报警。反复以上过程,直至输入的测温值为300为止。,分析:系统中需要控制的设备有:五个温度指示灯,升温设备,降温设备,报警设备。因此可用如下的结构体变量word表示该系统的控制字,其成员构成如下:(1)无符号整型tem1用来存放输入的温度采样值(0255),若每个刻度代表0.2度,则可以测量的温度范围为051度。浮点类型的成员tem2用来存放tem1成员转换成的温度值。(2)四个位段存放(要输出的)控制数据。其中,位段lmp宽度为5,控制五个温度指示灯,值为1时灯亮,为0时灯不亮。其余的3个位段sw1、sw2、alm宽度均为1,分别控制升温设备、降温设备和报警设备,都是为“1”时开启,为0时关闭。函数sample()实现测温采样:通过键盘输入模拟测温数据,并转换成实际温度值。函数control()实现输出控制:通过屏幕显示和喇叭鸣笛的方式输出温度值、温度级别、设备开关情况和报警状态。,#defineON1#defineOFF0structctrl_typeunsignedchartem1;floattem2;unsignedlmp:5;unsignedsw1:1;unsignedsw2:1;unsignedalm:1;,main()voidsample(structctrl_type*wp);voidcontrol(structctrl_type*wp);structctrl_typeword;while(1)sample(/*输出控制字,控制各设备*/,voidsample(structctrl_type*wp)printf(ninputtestdata(0255)(300forend):);scanf(%u,说明:1)函数sample()实现测温采样:通过键盘输入模拟测温数据,并转换成实际温度值。2)函数control()实现输出控制:通过屏幕显示和喇叭鸣笛的方式输出温度值、温度级别、设备开关情况和报警状态,voidcontrol(structctrl_type*wp)chari,m;printf(n%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产开发计划书撰写指导
- 冬季工程施工专项安全操作方案
- 儿童园环境创设及安全管理细则
- 公关活动危机应对处理流程
- 四年级数学教案设计与实施指导
- 高职技能竞赛筹备方案及实施指南
- 2025年煤矿应急演练评估培训试卷及答案-安全培训评估人员
- 2025年矿山管理人员三级安全培训试卷及答案-战略规划与执行测试
- 2025年应急演练评估安全培训试卷及答案-矿井应急救援队伍管理
- 2025年煤矿防尘防爆知识培训试卷及答案
- 血细胞形态图库
- 计算机导论期末考试试题及答案
- 资产评估审核意见表
- 电批知识培训精品课件
- 高中历史人教2019版《必修中外历史纲要(上)》思维导图
- 中医基础理论全套精品课件 收藏
- 标准解法体系(5级共76个标准解)
- 完整版天丝织物的染整工艺
- 牛和鹅省赛一等奖-完整版PPT课件
- 证明圆的切线的七种常用方法
- 自体血回输的应用
评论
0/150
提交评论