C第2版(第11章_位运算).ppt
《C第2版(第11章_位运算).ppt》由会员分享,可在线阅读,更多相关《C第2版(第11章_位运算).ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计教程语言程序设计教程(第(第2版)版)第第1111章章 位运算位运算本章主要内容本章主要内容1.1.按按位取反位取反运算运算2.2.按按位左移位左移运算运算3.3.按按位左移位左移运算运算4.4.按按位与位与运算运算5.5.按按位或位或运算运算6.6.按按位异或位异或运算运算7.7.复合位运算复合位运算第第1111章章 位运算位运算11.1 位运算符位运算符 C 既具有高级语言的特点,又具有低级语言的功能,既具有高级语言的特点,又具有低级语言的功能,位运算能力就是其特色之一。所谓位运算能力就是其特色之一。所谓位运算位运算就是指进行二就是指进行二进制位的运算。进制位的运算。C提供的
2、位运算符有:提供的位运算符有:运算符运算符 含义含义&按位与按位与 按位或按位或 按位异或按位异或 取反取反 右移右移说明:说明:位位运运算算符符中中除除“”外外,其其余余均均为为二二目目运运算算符符,即即要要求求两侧各有一个运算量。两侧各有一个运算量。运运算量只能是整型或字符型的数据算量只能是整型或字符型的数据,不能为实型数据。,不能为实型数据。11.2 “按位与按位与”运算符运算符&参参加加运运算算的的两两个个运运算算量量之之对对应应位位都都为为1,则则该该位位的的结结果为果为1,否则为,否则为0。即:。即:0&0=0 0&1=0 1&0=0 1&1=1例例:3&5=13的补码:的补码:0
3、00000115的补码:的补码:00000101&00000001&运算符的用途:运算符的用途:清零清零 如如果果想想将将一一个个单单元元清清零零(全全部部二二进进位位为为),则则只只要要找找一一个个数数的的补补码码的的对对应应位位0与与被被清清零零数数的的对对应应位位1刚刚好好对对应应,然后使两者进行然后使两者进行&运算。运算。如:如:00101011&1001010000000000 取一个数中的某些指定位取一个数中的某些指定位如:如:a:0010110010101100b:0000000011111111 (377)8&0000000010101100 得到得到 a 的低的低 8 位位
4、保留一个数的某一位保留一个数的某一位如:如:01010100 (84)10&00111011 (59)1000010000 (16)1011.3 “按位或按位或”运算符运算符 参参加加运运算算的的两两个个运运算算量量之之对对应应位位只只要要有有一一个个为为1,则该位的结果为则该位的结果为1。即:。即:0 0=0 0 1=1 1 0=1 1 1=1如:如:00110000 (060)8 00001111 (017)800111111 (077)8 即一个数与即一个数与017进行按位或运算,就可将该数的低进行按位或运算,就可将该数的低4位全置为位全置为1;与;与0377进行按位或运算,就可将该数的
5、低进行按位或运算,就可将该数的低8位全置为位全置为1。11.4 “异或异或”运算符运算符 参参加加运运算算的的两两个个运运算算量量的的对对应应位位相相同同,则则该该位位的的结结果为果为0。否则为。否则为1。即:。即:0 0=0 0 1=1 1 0=1 1 1=0如:如:00111001 (57)10、(071)8 00101010 (42)10、(052)800010011 (19)10、(023)8 运算符的用途:运算符的用途:使指定的位翻转使指定的位翻转如:如:01111010 00001111 对应原数的低对应原数的低4位均置为位均置为101110101 原数的低原数的低4位被翻转位被翻
6、转若若 a=3,b=4。则则a=a b;b=b a;a=a b;结果是什么?结果是什么?交换两个值,不用临时变量例如:,。想将和的值互换,可以用以下赋值语句实现:ab;ba;ab;()(ab的结果,a已变成)()(ba的结果,b已变成)()(ab的结果,a已变成)11.5 “取反取反”运算符运算符 运算是对一个二进制数按位取反,即将运算是对一个二进制数按位取反,即将0变为变为1,1变为变为0。8位全位全1用用377;16位全位全1用用177777;32位全位全1用用37777777777。11.6 “左移左移”运算符运算符 用来将一个数的各二进制位全部左移若干位,并在用来将一个数的各二进制位全
7、部左移若干位,并在右边补若干个右边补若干个0。高位左移后溢出,舍弃不起作用。如:。高位左移后溢出,舍弃不起作用。如:用来将一个数的各二进制位全部右移若干位,移用来将一个数的各二进制位全部右移若干位,移到右边的低位被舍弃,对无符号数,高位补到右边的低位被舍弃,对无符号数,高位补0。如:如:a 为为00001111,则,则 a2为为00000011 11右移一位相当于除以右移一位相当于除以2,右移,右移 n 位相当于除以位相当于除以2 n。(此此 2 位被舍弃位被舍弃)注意:注意:在右移时,需要注意符号位问题。若为无符号数,在右移时,需要注意符号位问题。若为无符号数,右移时左边高位移入右移时左边高
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 运算
限制150内