- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第15章:位运算
进制转换 十进制 转 任意进制 (12)10 -(1100)2 (12)10 - (014)8 (164)10 - (a4)16 任意进制 转 十进制 (1100)2 - (12)10 ( 014 )8 - (12)10 ( a4 )16 - ( 164)10 第15章:位运算 p-209 C语言中,位运算的对象只能是整型或字符 型数据,不能是其他类型的数据。 15.1 位运算符 p-209 C语言提供的六种位运算符及其运算功能: 表15.2 扩展的赋值运算符 p-209 15.2 位运算符的运算功能 p-210 1、“按位取反”运算(~) 运算符~是位运算中唯一的一个单目运算符,运算对象应置于运算符的右边。其运算功能是把运算对象的内容按位取反;即,使每一位上的0变1;1变0。 例如:表达式~0115是将八进制115按位求反。由于是“位”运算,我们把运算对象直接用二进制形式来表示: ~ —————————— 结果: 2.左移运算 main() {char a=6,b; b=a2; printf(“%d”,b); } main() {char a=64,b; b=a2; printf(“%d”,b); } 3.右移运算 main() {char a=6,b; b=a2; printf(“%d”,b); } main() {char a=64,b; b=a2; printf(“%d”,b); } 4.按位与 p-211 例: main( ) {char x=2, y=8,s; s=xy; printf(“%d”,s); } main( ) {char x=2, y=8,s; s=xy; printf(“%d”,s); } 5、“按位异或” 运算(^) p-211 异或运算的规则是:参与运算的两个运算数中相对应的 二进制位上,若数相同,则该位的结果为0;数不同, 则该位的结果为1。例如: ^ ——————— 注意:要使某位的数翻转只要使其和1进行“异或”运算,要使某位保持原 数只要使其和0进行“异或”运算。利用“异或”运算的这一特征,可以使一 个数中某些指定位翻转而另一些位保持不变 6.“按位或”运算(|) p-212 按位“或”的运算规则是:参加运算的两个运算数中,只要两个相 应的二进制位中有一个为1,该位的运算结果即为1;只有当两个 相应位的数都为0时,该位的运算结果才为0。例如: 0123 : 014 : ——————————— 0123 | 014 : 7.位数不同的运算数之间的运算规则 p-212 由前已知:位运算的对象可以是整数(long 或 int)和字符 型(char)数据。当两个运算数类型不同时位数亦会不同。遇 到这种情况,系统将自动进行如下处理: (1)先将两个运算数右端对齐。 (2)再将位数短的一个运算数往高位扩充,即:无符号数和正整数左侧用0补全;负数左侧用1补全;然后对位数相等的这两个运算数,按位进行位运算。 课后习题 p-212 15.1以下程序的输出结果是 A)100 B)160 C)120 D)64 main( ) { char x=040; printf(%d\n,x=x1); } 15.2以下程序中c的二进制值是 A B C D char a=3, b=6, c; c=a^b2; 15.3以下程序的输出结果是 A)0 B)1 C)2 D)3 main() { int x=35; char z= A; printf(%d\n,(x15)(z a) ); } 15.4以下程序的输出结果是 A)0 B)1 C)2 D)3 main() { int a=5, b=6, c=7, d=8, m=2, n=2; printf(%d\n,(m=ab) (n=cd) ); } 15.5设变量a的二进制数若想通过运算a^b使 a的高4位取反,低4位不变,则b的二进制数应是 _______。 15.6 a为任意整数。能将变量a清零的表达式是______
您可能关注的文档
最近下载
- 臀位剖宫产护理查房.pptx VIP
- 北京市通州区2024-2025学年高三上学期期中质量检测数学试卷2.docx
- 美食推荐微信小程序的设计与实现.docx VIP
- 冬季预防训练伤部队ppt.pptx VIP
- 提高患者腕带佩戴依从性PDCA.docx VIP
- 《工程勘察设计收费标准》2002年修订本完整.pdf VIP
- TZS 0680—2025《医疗机构实验室生物安全管理组织架构规范》(水印版).pdf VIP
- SANKEN三肯变频器samco-ns TEXC-NS-002(小容量)使用手册调试说明书.pdf
- 标准图集-05R502-燃气工程设计施工.pdf VIP
- 不靠谱梦想该劝阻吗辩论赛 正方辩词一辩、二辩、三辩、四辩发言稿.docx VIP
原创力文档


文档评论(0)