网站大量收购独家精品文档,联系QQ:2885784924

C语言程序设计与数据结构 刘信杰 C语言程序设计与数据结构 课件第11章新.pptVIP

C语言程序设计与数据结构 刘信杰 C语言程序设计与数据结构 课件第11章新.ppt

  1. 1、本文档共25页,可阅读全部内容。
  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文档。上传文档
查看更多
C语言程序设计与数据结构 第十一章 位 运 算 总体要求: ?理解掌握位运算的六种位运算符及其使用方法 ?了解位段数据结构的定义及使用 学习重点: ?六种位运算的综合使用 11.1 位运算符概述 11.2 基本位运算符及其功能 11.3 位域(位段) 11.1 位运算符概述 ?所谓位运算是指对二进制位的运算,可以实现按位与、按 位或、按位异或、按位取反以及左移、右移等运算。 ?C语言提供了以下6种位运算符: 1) 按位与 2)| 按位或 3)∧ 按位异或 4) ~ 按位求反 5) 按位左移 6) 按位右移 ?位运算符除了~(按位求反)为单目运算符以外,其它均为双目运算符,即:要求位运算符两侧各有一个操作对象。 ?在C语言中,位运算的对象只能是整型或字符型数据,不能是其它类型的数据。 11.2 基本位运算符及其功能 ?11.2.1 按位与(&)运算符 ?11.2.2 按位或(|)运算符 ?11.2.3 按位异或(∧)运算符 ?11.2.4 取反(~)运算符 ?11.2.5 左移()运算符 ?11.2.6 右移()运算符 ?11.2.7 位运算的复合赋值运算符 ?11.2.9 位运算符的优先级 ?11.2.8不同长度的数据进行位运算 11.2.1 按位与(&)运算符 按位与运算符是双目运算符。当两个数值进行按位与运算时,是对其值的二进制表示形式逐位进行比较操作,如果两个值对应位上都是1,则该位取值1,否则取值0,其真值表见表11-1: 表11-1 按位与运算真值表 如有两个数4和8进行按位与运算,即4 & 8则可表示为: 0000 0100 & 0000 1000 0000 0000 结果为0。如果参加&运算的是负数(如-4-8),则以补码形式表示为二进制数,然后按位进行“与”运算。 下面介绍按位与(&)运算的应用: (1) 用于取一个数据的某些指定位。 (2) 将某个变量的值清零(所有二进制位全部为0),一种方法是将该变量与0进行按位与运算;另一种方法就是找到一个数x与该变量a进行“按位与”运算时,x应满足下面的特征:a的某个二进制位为0,则x相应的二进制位可以是0,也可以是1;a的某个二进制位为1,则x相应的二进制位必须是0。 (3) 用于保留一个数中某些指定位。方法是:取一个数x与该变量a“按位与”,对于在a中需要保留的二进制位,x中相应的二进制位应为1;其余位为0。 11.2.2 按位或(|)运算符 按位或运算符“|”是双目运算符。当两个数值作按位或运算时,是对其值的二进制表示形式逐位进行比较操作,如果两值对应位上两个都是0,则该位取值0,否则取值1,其真值表见表11-2: 表11-2 按位或运算真值表 如有两个数24和9进行按位或运算,即24 | 9,则可表示为: | 结果为25。 【例11.1】求0123 |026(即对八进制数123和八进制数26按位或的值。) 0000000001010011 | 0000000000010110 0000000001010111 得到的结果值为八进制数127,即:0123|026=0127。 按位或运算常用来对一个数据的某些位置1。方法是:找到一个数x与数据a进行“按位或”运算,数据a中哪一个二进制位希望变成1,则x中相应的二进制位置为1,其余为0。例如:如i|0377是将i的低8位置1,而高8位保留原值。 11.2.3 按位异或(∧)运算符 按位异或运算符“∧”是双目运算符。其功能是参与运算的两个数值对应位相异或,当两个数值对应位相异时,结果为1;否则结果为0。其真值表如表11-3所示。 表11-3 按位异或运算真值表 如有两个数24和9进行按位异或运算,即24 ∧9,则可表示为: ∧ 结果为17。 【例11.2】求0123∧026(即对八进制数123和八进制数26按位异或)的值。

您可能关注的文档

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档