实用简单的C语言编程11第十一章研讨.ppt

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

第十一章 C语言在控制系统和嵌入式系统中的应用 了解:位运算的特殊应用 掌握:位运算符的含义和使用方法 重点:位运算符的含义 难点:位运算符的使用方法 §11.1 位运算符 一、“按位与”运算符() 1. 运算规则 参与运算的两数各对应的二进位相与(即逻辑乘),只有对应的两个二进位均为1时,结果位才为1,否则为0,它是双目运算符。 例如: a= 1 0 1 1 1 0 1 0 (十六进制为ba) b= 0 1 1 0 1 1 1 0 (十六进制为6e) ab= 0 0 1 0 1 0 1 0 (十六进制为2a) 2. 用途 (1)清零。按位与运算通常用来对某些位清0。 【例11.1】对原为1的位清零。 原数补码: 0 0 1 1 0 1 1 0 清零的数: 1 1 0 0 0 0 0 0 (00000000等) §9.2 文件类型指针 (2)取一个数的某些位。可将该数与一个特定数进行运算,对于要取的那些位,特定数中相应的位设为1。 【例11.2】把a的高八位清0,保留低八位。 (3)取出数中某一位。要想将一个数的某一位保留下来,可将该数与一个特定数进行运算,特定数的相对应的位应为1。 【例11.3】编写程序将a(=9)的最低位取出 §11.1 位运算符 二、“按位或”运算符(|) 1. 运算规则 运算符“|”将两边对应的二进制位分别进行“或”运算,即二者之中只要有一个为1时结果就为1,两者都为0时结果才为0。 例如: a = 1 0 0 1 1 0 1 0 (十六进制为9a) b = 0 1 0 1 0 1 1 0 (十六进制为56) a|b = 1 1 0 1 1 1 1 0 (十六进制为de) 2. 用途 (1)将一个数据的某些指定的位置为1。 【例11.4】将一个数的低5位置为1。 # # # # # # # # (#可代表0或1) 0 0 0 1 1 1 1 1 | # # # 1 1 1 1 1 §11.1 位运算符 三、“按位异或”运算符(^) 1. 运算规则 按位异或运算符“ ^ ”的作用是判断两个相应位的值是否“相异”(不同),若为异,则结果为1,否则为0。 例如: a = 1 0 0 1 1 0 1 0 (十六进制为9a) b = 0 1 0 1 0 1 1 0 (十六进制为56) a^b = 1 1 0 0 1 1 0 0 (十六进制为cc) 2. 用途 (1)使特定位翻转。 【例11.5】低4 位翻转,高4位保留原值。 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 ^ 0 1 1 1 1 1 1 0 (十进制126) (2)使特定位保留原值。要使哪几位保留原值就将与其进行“按位异或”运算的数的相应位置为0。 (3)交换两个值,不用临时变量。 §11.1 位运算符 四、“求反”运算符(~) 1. 运算规则 对参与运算的数的各二进位按位求反,它是单目运算符,具有右结合性。即:~0=1;~1=0。 例如: 0000000000001001 ~ 1111111111110110 2. 用途 适当的使用可增加程序的移植性。 §11.1 位运算符 五、“左移”运算符() 1. 运算规则 把“”左边运算数的各二进位全部左移由“”右边的数指定的位数,高位丢弃,低位补0,它是双目运算符。 例如:a4指把a的各二进位向左移动4位。 a十进制3) 左移4位后十进制48) 2. 用途 左移1位相当于该数乘以2;左移n位相当于该数乘以2的n次方。 §11.1 位运算符 六、“右移”运算符() 1. 运算规则 “右移”运算符() 2. 用途 右移1位相当于该数除以2;右移n位相当于该数除以2的n次方。 3. 说明 对于有符号数,在右移时,符号位将随同移动;当为正数时,最高位补0;而为负数时,符号位为1,最高位是补0还是补1取决于计算机系统的规定。 §11.1 位运算符 七、位复合赋值运算符 1. 分类 把“”左边运算数的各二进位全部左移由“”右边的数指定的位数,高位丢弃,低位补0,它是双目运算符。 例如:a4指把a的各二进位向左移动4位。 a十进制3) 左移4位后十进制48) 2. 运算过程 (1)

文档评论(0)

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

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

1亿VIP精品文档

相关文档