第09章 位运算.ppt
《第09章 位运算.ppt》由会员分享,可在线阅读,更多相关《第09章 位运算.ppt(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、9.1 位运算的概念位运算的概念9.2 位运算位运算9.3 位段简介位段简介C语言具有语言具有汇编语言汇编语言所能完成的一些功能,这是所能完成的一些功能,这是C语言的重要特色。语言的重要特色。在计算机用于检测控制领域中要用到在计算机用于检测控制领域中要用到位运算位运算,因此要学习和掌握本章内容。,因此要学习和掌握本章内容。9.1 位运算的概念位运算的概念 位运算位运算 进行进行二进制二进制位位的运算的运算。C 语言提供的位运算符如下表。语言提供的位运算符如下表。运运 算算 符符 含含 义义&按位按位与与|按位按位或或 按位按位异或异或(一目运算符)(一目运算符)按位按位取反取反 右移右移运算符
2、运算符第十二章第十二章 位运算位运算说明:说明:位运算符中除了位运算符中除了 以外,均为二目(元)运算符,即要求以外,均为二目(元)运算符,即要求两侧各有一个运算量。两侧各有一个运算量。运算量运算量只能是只能是整型或字符型整型或字符型数据,不能为实型数据数据,不能为实型数据。9.2.1 “按位与按位与”运算符运算符(&)参与运算的两个数据,按二进制参与运算的两个数据,按二进制位位进行进行“与与”运算。运算。运算规则运算规则:相应位都为相应位都为1 时,该位相与的结果为时,该位相与的结果为1,否则为,否则为0,即,即 0&0=0 1&0=0 0&1=0 1&1=1 例如:例如:3&5 3=0 0
3、 0 0 0 0 1 1&5=0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 值为值为1 例如:例如:(-3)&(-5)先用补码表示,然后运算。先用补码表示,然后运算。(-3)=1 1 1 1 1 1 0 1&(-5)=1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 19.2 位运算位运算 用途用途:清零:用清零:用 0 去去“与与”某一位,使某一位,使该位清零该位清零。如想将一个单元清零,即如想将一个单元清零,即使其全部二进制位为使其全部二进制位为0,只要找一个二进制数,其中各个位符合以下条件:,只要找一个二进制数,其中各个位符合以下条件:原来数中为原来数中为1
4、的位,新数中相应位为的位,新数中相应位为0,然后使二者进行,然后使二者进行&运算运算 即可。即可。例如:使低例如:使低4 位为位为01 1 0 1 1 0 0 1&1 1 1 1 0 0 0 01 1 0 1 0 0 0 0 低低4位为位为0 保留一个数中的某些位。用保留一个数中的某些位。用 1 去去“与与”某一位,某一位,保留该位保留该位。如:保留低如:保留低4位位1 0 1 0 1 1 0 0&0 0 0 0 1 1 1 10 0 0 0 1 1 0 0 保留低保留低4位位 保留其中某些位,将它与这些位为保留其中某些位,将它与这些位为1 的数作的数作“与与”运算。运算。例如:有一数例如:有
5、一数01010100,想保留其左起的第,想保留其左起的第 3、4、5、7、8 位,位,0 1 0 1 0 1 0 0&0 0 1 1 1 0 1 10 0 0 1 0 0 0 0计算机中的控制字各个位表示某些设备的状态,状态发生变化,各个位计算机中的控制字各个位表示某些设备的状态,状态发生变化,各个位通过通过位运算位运算改变数值。改变数值。9.2.2 按位或运算符(按位或运算符(|)两个数的相应位两个数的相应位按位或按位或(1)运算规则:运算规则:相应位只要有一个为相应位只要有一个为1,该位相或的结果就为,该位相或的结果就为1,否则为,否则为0,即即 0|0=0 1|0=1 0|1=1 1|1
6、=1例如:例如:1 1 0 1 1 0 0 1|0 0 0 0 1 1 1 11 1 0 1 1 1 1 1(2)用途:用途:用用 1去与某些位去与某些位“或或”,使某些位为使某些位为 1。例如:。例如:1 1 0 1 1 0 0 1|0 0 0 0 1 1 1 11 1 0 1 1 1 1 1 低低 4 位为位为 1 用用 0去与某些位去与某些位“或或”,保留原位保留原位。例如:上例中例如:上例中 前前4 位保留原位位保留原位9.2.3 按位异或运算符(按位异或运算符()两个数的相应位按位异或两个数的相应位按位异或 异或异或 判断两个相应的位值是否为判断两个相应的位值是否为异异,异异则结果为
7、则结果为1,否则为,否则为0 运算规则运算规则 :相应位的位值不同时(相异),相应位的位值不同时(相异),作作或或 的运算。的运算。即即 0 0=0 1 0=1 0 1=1 1 1=0 例如:例如:1 1 0 1 1 0 0 1 0 0 0 0 1 1 1 11 1 0 1 0 1 1 0 用途用途:用用 1 去与某些位去与某些位“异或异或”,使,使 特定位翻转。特定位翻转。0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 10 1 1 1 0 1 0 1 用用 0 去与某些位异或去与某些位异或,保留原值。保留原值。如如上例中前上例中前 4 位用位用 0去异或,保留原值去异或,保留原
8、值 0111 交换两个值交换两个值,不用临时变量。,不用临时变量。例如例如:a=a b;b=b a;a=a b;假设假设a=011,b=100.请验证上述式子。请验证上述式子。b=b (a b)=b a b=a b b=aa=(a b)a=a b a=b a a=b对一个二进制数对一个二进制数按位取反按位取反 (0 1,1 0)。例如例如:0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0又如又如:若一个整数若一个整数 a 为为16 位,要使位,要使 a 最低一位为最低一位为 0,可以用,可以用a=a&0177776;(常量与常量与 a 的字长有关的字长有关)八进制数八进制数 17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第09章 位运算 09 运算
限制150内