C第2版(第11章位运算).pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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 位被舍弃) 注意:在右移时,需要注意符号位问题。若为无

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档