C语言程序设计教学课件作者任文孔庆彦第11章

C语言程序设计教学课件作者任文孔庆彦第11章

ID:43445438

大小:321.53 KB

页数:45页

时间:2019-10-03

C语言程序设计教学课件作者任文孔庆彦第11章_第1页
C语言程序设计教学课件作者任文孔庆彦第11章_第2页
C语言程序设计教学课件作者任文孔庆彦第11章_第3页
C语言程序设计教学课件作者任文孔庆彦第11章_第4页
C语言程序设计教学课件作者任文孔庆彦第11章_第5页
资源描述:

《C语言程序设计教学课件作者任文孔庆彦第11章》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、高等职业教育示范专业规划教材C语言程序设计第11章位运算教学1.咂臧瓜曲能麻胚朋矗C语言程序设计机械工业出版社2013年6月20日第11章位运算111位逻辑运算112移位运算113位复合赋值运算114不同长度的数据进行位运算本章目录11・5位段结施本章小结习题教学配套课件CHINAMACHINEPRESSC语言程序设计第11章位运算机械工业出版社12013年6月20日学习目标:①掌握位运算的基本概念和使用。②灵活运用位运算符的_些特殊用法。③掌握位域的概念、定义和位域变量的引用。第11章位运算C语言程序设计1机械工业出版社1201

2、3年6月20日位运算是一种将运算对象按二进制位进行操作的运算。位运算不允许只操作其中的某一位,而是对整个数据按二进制位进行运算。位运算只适用于字符型和整型数据以及它们的变体,对其它数据类型不适用。其运算结果仍是整型数据。位运算符有位逻辑运算符、位移位运算符和位复合赋值运算符等三种O11.1位逻辑运算C语言程序设计

3、机械工业出版社

4、p:〃www・cmpbook・com2013年6月20日位逻辑运算符是将数据中每个二进制位上的“0”或“1”看成逻辑值,逐位进行逻辑运算的运算符。位逻辑运算符分为按位非(取反)、按位与、按位或和按位加符,

5、其余三种都是双目运算符。(按位异或四种。“非”是单目前缀运算位逻辑运算符的运算对象、运算规则与结果、结合性如表11-1所示。称名蠶算果运结性合结目晞非〜1为0〜0为1整型整右左自向目双砸与&2萄见参左右自向—按位异或机械工业出版社表11-1位逻辑运算符CHINAMACHINEPRESS11.1位逻辑运算C语言程序设计

6、机械工业出版社

7、p:〃www・cmpbook・com2013年6月20日表11・2双目位逻辑运算符运算规则对象1a对象2b按位与a&b按位或a

8、b按位异或aAb00000010111001111110位逻辑运算符的优

9、先级如下:①〜优先于算术运算符优先于关系运算符优先于&优先于A优先于I优先于双目逻辑运算符。②〜和单目的逻辑、增1减1、算术、长度运算符是同级别的,结合性是自右向左。11.1.1按位与运11.1.2按位或运算

10、11.1.3按位异或运3j11.1.4教学配套课件CHINAMACHINEPRESSC语言程序设计III按位与是对两个运算量相应的位进行逻辑与,“&”的运算规则与逻辑与“&&”相同。即:只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式恚示。【例11-1】设a、b均为无符号短整型变量:a为0111(

11、对应二进制数为0000000001001001)b为0123(对应二进制数为0000000001010011),求a&b=?故按位与运算经常用来屏蔽(清零)或保留特定位。a:0000000001001001b:0000000001010011~0000000001000001a&b结果为0000000001000001(对应八进制数为0101),a、b不变。返回本节冃录[例11-2]用按位与运算屏蔽特定位(指将特定位清零)。设有一个8位二进制数n=(10110U0)2,请屏蔽其高4位,低4位不变。【分析】如果要将一个二进制数中的某

12、些特定位屏蔽(清零),则需构造一个和原数位数相等的新二进制数,将原数中需要清零的位,在新数中将相应位写成0,原数中不需要清零的位,在新数中将相应位写成1,然后将原数和构造得到的新数相与,即可完成对原数中特定的二进制位清零。据此,构造新数:m=(00001111)2,计算n=n&m即可。过程如用按位与运算除了可屏蔽特定位以外,还可保留特定位。要想将哪一位保留下来,就与一个数进行&运算,此数在该位取1OT:&KL:00001111n:00000110n:10110110注意:虽然按位与和取地址都使用了相同的符号“&”,但两者有着本质的

13、区别,不能混淆。2[T1/?!•a:0000000001001001b:00000000010100110000000001011011alb的结果为0000000001011011(对应八进制数为013

14、3),a、b不变。匕11丄2按位或运算

15、C语言程序设计I机械工业出版社III2013年6月20日按位或是对两个运算量相应的位进行逻辑或操作,其运算规则与逻辑或“II”相同。也就是两个相或的二进制数中,只要有一个为1,其结果必为1,否则为0。【例11-4]设a、b均为无符号短整型变量:a为0111(对应二进制数为OOOOOOOOO

16、1001001)b为0123(对应二进制数为0000000001010011),求a

17、b=?可以看岀:由于一个数的某二进制位无论是0还是I,与1相或,结果均为1,与0相或,则保留其原值。故按位或运算经常用来将特定位置教学配套课件返回本节目录Q11.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。