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

东北农业大学工程学院高级语言程序设计课件 第十二章.ppt

东北农业大学工程学院高级语言程序设计课件 第十二章.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12 位运算(1) 12.1 位运算符 说明: 位运算对象为整型或字符型数据; 位运算是对运算对象的每个二进制位分别操作。 12 位运算(2) 12.2 按位逻辑运算 设a: 1010,1001,0101,0111 (43095) b: 0110,0000,1111,1011 (24827) 按位与运算() c=ab a: 1010,1001,0101,0111 b: 0110,0000,1111,1011 c: 0010,0000,0101,0011 (8275) 12 位运算(3) 2. 按位或运算(|) c=a|b a: 1010,1001,0101,0111 | b: 0110,0000,1111,1011 c: 1110,1001,1111,1111 1001,0110,0000,0000 + 1 1001,0110,0000,0001 (-5633) 12 位运算(4) 3. 按位异或运算(^) 位相同,则结果为0;相异,则结果为1 c=a^b a: 1010,1001,0101,0111 ^ b: 0110,0000,1111,1011 c: 1100,1001,1010,1100 (-13908) 12 位运算(5) 4. 按位求反运算(~) c=~a ~ a: 1010,1001,0101,0111 c: 0101,0110,1010,1000 (22184) 12 位运算(6) 5. 移位运算符: (左移) (右移) 一般形式为: xn,xn 规则为: 左移是将x的二进制位左移n位,移出的高位舍弃,右边空出位补0; 右移是将x的二进制位右移n位,移出的底位舍弃,右边空出位如为无符号位补0;有符号数正数补0,负数补1。 设a=7,则: b=a2 b=0000,01112=0001,1100=28 12 位运算(7) 12.4 位运算赋值运算符 5种位运算赋值运算符为: =、|=、=、=、^= 例: x=y 等价于 x=xy x=2 等价于 x=x2 12.2 位段结构 有时,存储1个信息不必占用1个字节,只需二进制的1个(或多个)位就够用。如果仍然使用结构类型,则造成内存空间的浪费。为此,C语言引入了位段类型。 1. 位段的概念与定义 所谓位段类型,是一种特殊的结构类型,其所有成员均以二进制位为单位定义长度,并称成员为位段。 例如,CPU的状态寄存器,按位段类型定义如下: struct status { unsigned sign: 1; /*符号标志*/ unsigned zero: 1; /*零标志*/ unsigned carry: 1; /*进位标志*/ unsigned parity: 1; /*奇偶/溢出标志*/ unsigned half_carry: 1; /*半进位标志*/ unsigned negative: 1; /*减标志*/ } flags; 显然,对CPU的状态寄存器而言,使用位段类型(仅需1个字节),比使用结构类型(需要6个字节)节省了5个字节。 2.说明 (1)因为位段类型是一种结构类型,所以位段类型和位段变量的定义,以及对位段(即位段类型中的成员)的引用,均与结构类型和结构变量一样。 (2)对位段赋值时,要注意取置范围。一般地说,长度为n的位段,其取值范围是:0~(2n-1)。 (3)使用长度为0的无名位段,可使其后续位段从下1个字节开始存储。 例如, struct status { unsigned sign: 1; /*符号标志*/ unsigned zero: 1; /*零标志*/ unsigned carry: 1; /*进位标志*/ unsigned : 0; /*长度为0的无名位段*/ unsigned parity: 1; /*奇偶/溢出标志*/

文档评论(0)

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

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

1亿VIP精品文档

相关文档