10位运算..pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 位运算 1 位运算符 2 位运算符的运算功能 一、 位运算符 计算机中的位运算是针对二进制代码进行的。每一个二进制位的取值只有0或1。位运算符的操作对象是一个二进制位的集合,如一个字节(8bit)。 位运算符共有6种,即 ~取反、左移位、 右移位、按位与、^按位异或和 |按位或。 表1 位运算符 按位操作的情况,见表2,其中a和b分别表示一个二进制位。 表2 按位逻辑运算 1.1 按位取反 按位取反运算符就是将其操作对象中的所有二进制位全部改变状态,即“逢0变1,逢1变0”。 1.2 移位 移位运算符有左移运算符和右移运算符。 1. 左移运算符 左移运算符是将其操作对象向左移动指定的位数,每左移1位相当于乘以2,移n位相当于乘以2的n次方。 一个二进制位在左移时右边补0,移几位右边补几个0。 左移运算符的一般书写格式为: 表达式1 表达式2 2. 右移运算符 右移运算符是将其操作对象向右移动指定的位数,每右移1位相当于除以2,移n位相当于除以2的n次方。在进行右移时,右边移出的二进制位被舍弃。 右移运算符的一般书写格式为: 表达式1 表达式2 1.3 按位“与” 按位“与”的一般书写格式为: 表达式1 表达式2 按位“与”的运算原则为:当两个操作对象的相应二进制位都为1时,则该位的结果为1,否则为0,即“两1为1,其余为0”。 1.4 按位“或” 按位“或”的一般书写格式为: 表达式1 | 表达式2 按位“或”的运算原则为:当两个操作对象的相应二进制位都为0时,则该位的结果为0,否则为1,即“两0为0,其余为1”。 1.5 按位“异或” 按位“异或”的一般书写格式为: 表达式1 ^ 表达式2 按位“或”的运算原则为:当两个操作对象的相应位相同时,则该对应位的结果为0,否则为1,即“相同为0,不同为1”。 按位“异或”也可以称不进位加,即两个操作对象执行二进制相加,但不向高位进位。 1.6 位运算赋值运算符 位运算符与赋值运算符可以组成复合赋值运算符,如: =, |=, =, =, ^= 例如: a =b相当于a = ab, a =2相当于a = a 2, a |=b相当于a = a | b 二、 位运算符的运算功能 【例】 将整型数据n的后5位数据置为0,其余各位不变。 程序如下: # include stdio.h main() { int n ; printf(input n : ) ; scanf(%d , n) ; n=~037 ; printf(%d\n , n) ; } * * 位运算是指进行二进制位的运算。 返回主目录 运算符 名称 使用格式 ~ 按位取反 ~ 表达式 左移位 表达式1 表达式2 右移位 表达式1 表达式2 按位与 表达式1 表达式2 ^ 按位异或 表达式1 ^ 表达式2 | 按位或 表达式1 | 表达式2 a b ~ a a b a ^ b a | b 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 返回章目录 1.7 不同长度的数据进行位运算 如果两个数据长度不同(如long型和int型)进行为运算时(如a

文档评论(0)

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

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

1亿VIP精品文档

相关文档