C及C++程序设计 第3版 教学课件 张富 第6章 位运算.pptVIP

C及C++程序设计 第3版 教学课件 张富 第6章 位运算.ppt

  1. 1、本文档共23页,可阅读全部内容。
  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文档。上传文档
查看更多
第6章 位 运 算 这一章要学习C语言中的位运算及位运算的应用。 6.1 位运算符及位运算表达式 位运算是对二进制数据以位为单位(bit)进行的运算。C语言提供了六种位运算符。参加运算的操作数可以是char类型、int类型和long类型的变量或常量。实型是不能进行位运算的。表6-1列出了所有位操作的运算符。 在六种位运算符中,位非、位与、位加和位或称为位逻辑运算符。另两个是位移位运算符。按位运算中也有位自反赋值运算符五种。 位逻辑运算是把运算对象的每个二进制位上的“0”或“1”看作是逻辑值。逐位进行逻辑运算。位逻辑运算符的运算规则,如表6-2所示。 需要特别注意是,位运算中的“与”、“或”和“非”是与第4章介绍的逻辑运算中的“与”、“或”和“非”不同的。这里强调的是按(二进制)位的运算。 按位运算符把操作对象看作是二进制数,并以位为单位对它们进行运算,运算的结果为整型数,可用十进制数、八进制数或十六进制数表示。 第4章介绍的逻辑运算是两种逻辑值(真和假)之间的运算,运算的结果,也只有真和假两种可能的结果。 移位运算的优先级排在算术运算之后,关系运算之前。 由位运算符连接的表达式称为位运算表达式。 6.2 位逻辑运算 表6-2给出四种按位逻辑运算符的运算规则。表中a和b是位运算对象的二进制位值。 6.3 移 位 运 算 位移运算符是把数据看作为二进制数,对其进行向左或向由移动一位或若干位的运算。位移运算表达式的一般格式如下。 右移运算:变量移位的位数 左移运算:变量移位的位数 移位的规则如图6-1所示。 左位移位时,无论是带符号数还是无符号数,左边被移出的位丢弃,右边的空位补入0。右移位时,要区分数是否带有符号。对于无符号数,右移时,右边被移出的位丢弃,左边的空位补入0。对于带符号数,右移时,右边被移出的位丢弃,左边的空位补入原符号位的值。 6.4 位自反赋值运算 位自反赋值运算和算术自反赋值运算一样,它的格式是: 变量OP=表达式 位自反赋值运算符共有五个,其运算符如下: = 位与赋值 |= 位或赋值 ^= 位按位加赋值 = 位左移赋值 = 位右移赋值 位自反赋值运算符与赋值运算符和算术自反运算符是同级的,只高于逗号运算符,低于所有其他运算符。其结合性是自右向左。 位自反赋值运算符的运算规则如下: y=(x) 相当于 y=y(x) y|=(x) 相当于 y=y|(x) y^=(x) 相当于 y=y^(x) y=(x) 相当于 y=y(x) y=(x) 相当于 y=y(x) 式中(x)是表达式。先算出表达式的值,然后再与y进行位运算。 小 结 本章介绍了C语言中具有特色的操作:位运算操作及其应用。位运算很大程度上可以代替汇编程序所能解决的问题。 * * * 位运算符及位运算表达式 6.1 位逻辑运算 6.2 移位运算 6.3 位自反赋值运算 6.4 小结 6.5 图6-1 移位运算规则示意图 *

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档