1 / 46
文档名称:

第11章 位运算.ppt

格式:ppt   页数:46
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第11章 位运算.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第11章 位运算.ppt

文档介绍

文档介绍:第11章位运算
位运算符和位运算
位运算举例
位段
习题
C语言是为描述系统而设计的,因此它应当具有汇编语言所能完成的一些功能。C语言既具有高级语言的特点,又具有低级语言的功能,因而具有广泛的用途和很强的生命力。第9章介绍的指针运算和本章将介绍的位运算就很适合于编写系统软件的需要,是C语言的重要特色。在计算机用于检测和控制领域中要用到位运算的知识,因此读者应当学习和掌握本章的内容。
所谓位运算是指进行二进制位的运算。在系统软件中,常要处理二进位的问题。例如,将一个存储单元中的各二进位左移或右移一位,两个数按位相加等。C语言提供位运算的功能,与其他高级语言(如PASCAL)相比,它显然具有很大的优越性。
“按位与”运算符(&)
参加运算的两个数据,按二进位进行“与”运算。如果两个相应的二进位都为1,则该位的结果值为1,否则为0。即
0&0=0;0&1=0;1&0=0;1&1=1;
例如: 3&5 并不等于8,应该是按位与。
3 = 00000011
(&) 5 = 00000101
00000001
位运算符和位运算
因此,3&5的值得1。如果参加&是负数运算的是负数(如-3 & -5),则以补码形式表示为二进制数,然后按位进行“与”运算。
按位与有一些特殊的用途:
(1) 清零。如果想将一个单元清零,即使其全部二进位为0,只要找一个二进制数,其中各个位符合以下条件:原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。
如:原有数为00101011,另找一个数,设它为10010100,它符合以上条件,即在原数为1的位置上,它的位值均为0。将两个数进行&运算:
00101011
(&) 10010100
00000000
其道理是显然的。当然也可以不用10010100这个数而用其他数(如01000100)也可以,只要符合上述条件即可。
(2) 取一个数中某些指定位。如有一个整数a(2个字节),想要其中的低字节。只需将a与(737)8按位与即可。。


c=a&b,b为八进制数的377,运算后c只保留a的低字节,高字节为0。
如果想取两个字节中的高字节,只需c=a & 0177400 (0177400表示八进制数的177400)。。
(3) 要想将哪一位保留下来,就与一个数进行&运算,此数在该位取1,如:有一数01010100,想把其中左面第3、4、5、7、8位保留下来,可以这样运算:
01010100 (十进制数84)
(&)00111011 (十进制数59)
00010000(十进制数16)
即 a=84,b=59,c=a&b=16。
按位或运算符(|)
两个相应的二进位中只要有一个为1,该位的结果值为1。即0|0=0; 0|1=1; 1|0=1; 1|1=1。例如:060|017
将八进制数60与八进制数17进行按位或运算。
00110000
(|) 00001111
00111111
低4位全为1。如果想使一个数a的低4位改为1,只需将a与017进行按位或运算即可。
按位或运算常用来对一个数据的某些位定值为1。如:a是一个整数(16位),有表达式a |0377则低8
位全置为1。高8位保留原样。
“异或”运算符(∧)
异或运算符∧也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即0∧0=0; 0∧1=1; 1∧0=1; 1∧1=0;如:
00111001 (十进制数57,八进制数071)
(∧)00101010 (十进制数42,八进制数052)
00010011 (十进制数19,八进制数023)
即071∧052,结果为023(八进制数)。
“异或”的意思是判断两个相应的位值是否为“异”,为“异”(值不同)就取真(1),否则为假(0)。
下面举例说明∧运算符的应用:
(1) 使特定位翻转
假设有01111010,想使其低4位翻转,即1变为0,0变为1。可以将它与00001111进行∧运算,即
01111010
(∧)00001111
01110101

最近更新

2025年桂林山水职业学院单招综合素质考试模拟.. 40页

2025年梅河口康美职业技术学院单招职业适应性.. 41页

2025年正德职业技术学院单招职业倾向性测试题.. 39页

2025年毕节医学高等专科学校单招职业技能考试.. 41页

2025年汝州职业技术学院单招职业适应性测试模.. 40页

2025年江苏农林职业技术学院单招综合素质考试.. 39页

2025年江苏工程职业技术学院单招职业技能测试.. 41页

2025年江苏电子信息职业学院单招综合素质考试.. 41页

2025年江苏省淮阴市单招职业适应性考试模拟测.. 40页

2025年江苏财会职业学院单招综合素质考试模拟.. 39页

2025年江西制造职业技术学院单招职业适应性考.. 40页

2025年江西工业职业技术学院单招职业适应性测.. 39页

2025年江西机电职业技术学院单招职业倾向性测.. 40页

2025年江西洪州职业学院单招职业适应性测试模.. 42页

2025年江西科技学院单招职业技能考试模拟测试.. 40页

2025年河北外国语学院单招综合素质考试题库及.. 40页

2025年河北工艺美术职业学院单招职业适应性测.. 38页

2025年河北正定师范高等专科学校单招职业适应.. 39页

2025年河北青年管理干部学院单招职业适应性考.. 41页

2025年河南地矿职业学院单招综合素质考试模拟.. 40页

2025年河南应用技术职业学院单招职业适应性测.. 40页

2026年中山职业技术学院单招职测备考题库及答.. 42页

2025年河南省新乡市单招职业倾向性考试模拟测.. 38页

2025年河南省驻马店地区单招职业倾向性考试模.. 40页

2025年重庆市《保安员证》考试题库含答案 39页

混凝土工程培训课件优秀PPT 26页

小学数学六年级下册《鸽巢问题》作业设计 9页

国开《建筑力学》期末机考答案 15页

住院患者自带药品使用管理规定通知 3页

栏杆计算书 2页