资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十二章 位运算1数学与计算机教研室主要内容位运算符和位运算位运算举例位段2数学与计算机教研室概念位运算是指按二进制位进行的运算。因为在系统软件中,常要处理二进制位的问题。例如:将一个存储单元中的各二进制位左移或右移一位,两个数按位相加等。3数学与计算机教研室位运算符和位运算运算符 含义 运算符 含义 bba; aab;a = 0 1 1 ()b = 1 0 0a = 1 1 1 ()b = 1 0 0b = 0 1 1 ()a = 1 1 1a = 1 0 015数学与计算机教研室1) 执行前两个赋值语 句:aab; 和 bba;相当于 b=b(ab)。2) 再执行第三个赋值语 句: aab。由于a的值等于(ab),b的值等于(bab),因此,相当于a=abbab,即a的值等于aabbb,等于b。 分析16数学与计算机教研室“取反”运算符()是一个单目(元)运算符,用来对一个二进制 数按位取反,即将0变1,将1变0。例如,025 是对八进制数25(即二进制数00010101)按位 求反。0000000000010101 () 1111111111101010 (八进制数 177752)17数学与计算机教研室左移运算符()左移运算符是用来将一个数的各二进制位全部左 移若干位。 a=2=00000011a2表示将a的各二进制位右移2位,移到右端的低位被舍弃,对无符号数,高位补0。右移运算符是用来将一个数的各二进制位全部右移若干位。 右移运算符()右移一位相当于除以2 右移n位相当于除以2n。 20数学与计算机教研室右移时,需要注意符号位对无符号数,右移时左边高位移入0; 对于有符号的值,如果原来符号位为0(该数为正),则 左边也是移入0。如果符号位原来为1(即负数),则左 边移入0还是1,要取决于所用的计算机系统。有的系 统移入0,有的系统移入1。移入0的称为“逻辑右移”, 即简单右移;移入1的称为“算术右移”。 a的值是八进制数113755: a:1001011111101101 (用二进制形式表示)a1: 0100101111110110 (逻辑右移时)a1: 1100101111110110 (算术右移时)(Turbo C)21数学与计算机教研室位运算赋值运算符位运算符与赋值运算符可以组成复合赋值运算符 。例如: pbit-b pbit-c|=1; printf(“%d,%d,%dn“,pbit-a,pbit-b,pbit-c); 33
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号