c语言的-位运算.ppt

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

第12章 位运算 回顾1 结构是由若干数据项组合而成的复杂数据对象,这些数据项称为结构的成员。 定义一个结构,需要给出各个成员的类型及名称。 结构定义仅描述了一个结构的形式。要在程序里使用结构,需要声明结构变量。 访问结构成员的操作要用圆点运算符(.),一般形式为:结构变量名.成员名。 回顾2 可以通过指向结构的指针访问结构成员,常用形式为:结构指针变量-成员名。 数组元素的类型为结构的数组称为结构数组。 结构作为函数参数有三种不同的方式:结构成员的值传递给函数参数、整个结构作为参数传递、结构指针变量做函数的参数。 目标 掌握各种位运算符,运算规则和优先级。 了解位运算的实际应用。 了解位段的定义和应用。 12.1 位运算符和位运算 前面介绍的各种运算都是以字节作为最基本位进行的。 但在很多系统程序中常要求在位(bit)一级进行运算或处理。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。 按位与 | 按位或 ^ 按位异或 ~ 取反 左移 右移 12.1 位运算符和位运算 1、按位与运算符(): 运算规则: 00=0 10=0 01=0 11=1 只要对应位上的值均为1则该位上的结果值为1 特殊作用。 ①将一个存储单元各位清0 ②取某个数中的某些位。 方法:将本数与某个特定数按位与运算即可。 12.1 位运算符和位运算 2、按位或运算符(|) 运算规则: 0|0=0 1|0=1 0|1=1 1|1=1 只要对应位上的值其中一个为1则该位上的结果值为1 特殊作用。 常用于将一个数的某些特定位置为1 方法:将本数与某个特定数按位或运算即可。 12.1 位运算符和位运算 3、按位异或运算符(^) 运算规则: 0^0=0 1^0=1 0^1=1 1^1=0 只要对应位上的值互不相同则该位上的结果值为1 特殊作用。 ①使某些特定的位翻转 ②任何数与0相异或结果保留原数本身 ③交换两个变量的值不用中间变量。 a=a^b b=b^a a=a^b 注意给变量赋值的先后顺序。 12.1 位运算符和位运算 4、按位异求反运算符(~) 运算规则: ~0=1 ~1=0 对每个的值按位求反:1变为0;0变为1。 注意以上位逻辑运算的优先级别。 注意:~运算符比算术运算、关系运算、逻辑运算和其它运算的优先级别都高。 12.1 位运算符和位运算 5、左位移运算符(): 运算规则: a=an 将a中所有位向左移动n位。 运算的作用:相当于乘法运算。左移一位相当于乘以2。 高位[左边位]左移后溢出被舍弃,不起作用。低位补以0。 12.1 位运算符和位运算 6、右位移运算符(): 运算规则: a=an 将a中所有位向右移动n位。 运算的作用:相当于除法运算。右移一位相当于除以2。 注意数的符号问题(即正负的问题) 对于无符号数(正数)右移时高位补以0。 对于有符号数,高位为0(正数)右移时高位补以0。 对于有符号数,高位为1(负数)时: ①右移时高位补以0,称之为“逻辑位移”。 ②右移时高位补以1,称之为“算术位移”。 TC采用“算术位移”,高位补以1。 12.1 位运算符和位运算 7、位运算的复合赋值运算符: a=b a|=b a^=b a=b a=b 12.2 位运算举例 例12.1 取一个整数a从右端开始的4~7位。 main() {unsigned a,b,c,d; scanf(“%o”,a); b=a4; c=~(~04); d=bc; printf(“%o,%d\n%o,%d\n”,a,a,d,d); } 12.3 位段 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。 所

文档评论(0)

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

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

1亿VIP精品文档

相关文档