- 3
- 0
- 约4.4千字
- 约 20页
- 2017-06-03 发布于北京
- 举报
第1章 引言 第11章 位运算 本章主要内容 1.按位取反运算 2.按位左移运算 3.按位左移运算 4.按位与运算 5.按位或运算 6.按位异或运算 7.复合位运算 第11章 位运算 11.1 位运算符 C 既具有高级语言的特点,又具有低级语言的功能,位运算能力就是其特色之一。所谓位运算就是指进行二进制位的运算。 C提供的位运算符有: 运算符 含义 按位与 | 按位或 ? 按位异或 ~ 取反 左移 右移 说明: ? 位运算符中除“~”外,其余均为二目运算符,即要求两侧各有一个运算量。 ? 运算量只能是整型或字符型的数据,不能为实型数据。 11.2 “按位与” 运算符 参加运算的两个运算量之对应位都为1,则该位的结果为1,否则为0。即: 00=0 01=0 10=0 11=1 例: 35=1 3的补码: 5的补码: 运算符的用途: ? 清零 如果想将一个单元清零(全部二进位为?),则只要找一个数的补码的对应位0与被清零数的对应位1刚好对应,然后使两者进行 运算。 如: 00000000 ? 取一个数中的某些指定位 如: a: 0010110010101100 b: 0000000011111111 (377)8 0000000010101100 得到 a 的低 8 位 ? 保留一个数的某一位 如: (84)10 (59)10 (16)10 11.3 “按位或”运算符 | 参加运算的两个运算量之对应位只要有一个为1,则该位的结果为1。即: 0 | 0 = 0 0 | 1 = 1 1 | 0 = 1 1 | 1 = 1 如: (060)8 | (017)8 (077)8 即一个数与017进行按位或运算,就可将该数的低4位全置为1;与0377进行按位或运算,就可将该数的低8位全置为1。 11.4 “异或”运算符 ? 参加运算的两个运算量的对应位相同,则该位的结果为0。否则为1。即: 0 ? 0 = 0 0 ?1 = 1 1 ? 0 = 1 1 ? 1 = 0 如: (57)10 、(071)8 ? (42)10 、(052)8 (19)10 、(023)8 ? 运算符的用途: 使指定的位翻转 如: ? 对应原数的低4位均置为1 原数的低4位被翻转 若 a=3, b=4。 则a=a?b; b=b?a;a=a?b; 结果是什么? 交换两个值,不用临时变量 例如:a=3,b=4。 想将a和b的值互换,可以用以下赋值语句实现: a=a∧b; b=b∧a; a=a∧b; a=011 (∧)b=100 a=111(a∧b的结果,a已变成7) (∧)b=100 b=011(b∧a的结果,b已变成3) (∧)a=111 a=100(a∧b的结果,a已变成4) 11.5 “取反” 运算符 ~ ~ 运算是对一个二进制数按位取反,即将0变为1,1变为0。 8位全1用377; 16位全1用177777; 32位全1用37777777777。 11.6 “左移”运算符 用来将一个数的各二进制位全部左移若干位,并在右边补若干个0。高位左移后溢出,舍弃不起作用。如: 运算的最大用途是做乘法运算。将乘以 2n 的幂运算处理为左移 n 位。 11.7 “右移”运算符 用来将一个数的各二进制位全部右移若干位,移到右边的低位被舍弃,对无符号数,高位补0。 如: a 则 a2 11 右移一位相当于除以2 ,右移 n 位相当于除以2 n。 (此 2 位被舍弃) 注意:在右移时,需要注意符号位问题。若为无
您可能关注的文档
- 7.1公共航空运输企业.ppt
- 7.2弘扬时代精神.ppt
- 7.3我国的宗教政策-fen.ppt
- 78核聚变粒子和宇宙课件.ppt
- 7《最后一课》课件.ppt
- 7望大陆六年级上册课件.ppt
- 7第七章体育锻炼原理与方法.ppt
- 8.1世界是永恒发展.ppt
- 8.5、宏对象的调试与执行.ppt
- 8-1-基于ARM的嵌入式程序设计.ppt
- 2025年北京市门头沟区中考一模英语试题.docx
- 2025年北京市门头沟区中考二模英语试题.docx
- 2025年北京市丰台区中考二模英语试题.docx
- 2025年中考英语考前冲刺模拟卷 (北京专用) 解析卷.docx
- 2025年中考英语考前冲刺模拟卷 (北京专用) 原卷.docx
- 2025年肩颈按摩仪行业社媒趋势数据分析.docx
- 2025年人身险行业信用回顾与2026年展望.docx
- 合同法买卖合同培训课件.ppt
- 2025年全球食物系统与SDG研究报告-食物供给、食者健康、生态平衡的整体治理.docx
- 2025下半年四川乐山市川投峨眉铁合金(集团)有限责任公司对考前自测高频考点模拟试题最新.docx
原创力文档

文档评论(0)