第15章:位运算案例.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进制转换 十进制 转 任意进制 (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清零的表达式是________。 15.7 a为任意整数。

您可能关注的文档

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档