C++讲义第十一章

C++讲义第十一章

ID:44195645

大小:144.50 KB

页数:18页

时间:2019-10-19

C++讲义第十一章_第1页
C++讲义第十一章_第2页
C++讲义第十一章_第3页
C++讲义第十一章_第4页
C++讲义第十一章_第5页
资源描述:

《C++讲义第十一章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第十一章C语言在控制系统和嵌入式系统中的应用了解:位运算的特殊应用掌握:位运算符的含义和使用方法重点:位运算符的含义难点:位运算符的使用方法1《C程序设计实例教程》山东科技大学机电学院位运算符含义举例~按位取反~a,对变量a中全部二进制位取反<<左移a<<2,a中各位全部左移2位,右边补0>>右移a>>2,a中各位全部右移2位,左边补0&按位与a&b,a和b中各位按位进行“与”运算

2、按位或a

3、b,a和b中各位按位进行“或”运算^按位异或a^b,a和b中各位按位进行“异或”运算下表是位操作的运算符注:位运算符的操作对象为整型或字符型数据。2《C程序设计实例教程》山东科技大

4、学机电学院§11.1位运算符一、“按位与”运算符(&)1.运算规则参与运算的两数各对应的二进位相与(即逻辑乘),只有对应的两个二进位均为1时,结果位才为1,否则为0,它是双目运算符。例如:a=10111010(十六进制为ba)b=01101110(十六进制为6e)a&b=00101010(十六进制为2a)2.用途(1)清零。按位与运算通常用来对某些位清0。【例11.1】对原数00110110中为1的位清零。原数补码:00110110清零的数:11000000(或01000000、00000000等)3《C程序设计实例教程》山东科技大学机电学院§9.2文件类型指针(2)取

5、一个数的某些位。可将该数与一个特定数进行&运算,对于要取的那些位,特定数中相应的位设为1。【例11.2】把a的高八位清0,保留低八位。(3)取出数中某一位。要想将一个数的某一位保留下来,可将该数与一个特定数进行&运算,特定数的相对应的位应为1。【例11.3】编写程序将a(=9)的最低位取出4《C程序设计实例教程》山东科技大学机电学院§11.1位运算符二、“按位或”运算符(

6、)1.运算规则运算符“

7、”将两边对应的二进制位分别进行“或”运算,即二者之中只要有一个为1时结果就为1,两者都为0时结果才为0。例如:a=10011010(十六进制为9a)b=01010110(十六进

8、制为56)a

9、b=11011110(十六进制为de)2.用途(1)将一个数据的某些指定的位置为1。【例11.4】将一个数的低5位置为1。########(#可代表0或1)00011111

10、###111115《C程序设计实例教程》山东科技大学机电学院§11.1位运算符三、“按位异或”运算符(^)1.运算规则按位异或运算符“^”的作用是判断两个相应位的值是否“相异”(不同),若为异,则结果为1,否则为0。例如:a=10011010(十六进制为9a)b=01010110(十六进制为56)a^b=11001100(十六进制为cc)2.用途(1)使特定位翻转。【例11.5】将01

11、110001的低4位翻转,高4位保留原值。0111000100001111^01111110(十进制126)6《C程序设计实例教程》山东科技大学机电学院(2)使特定位保留原值。要使哪几位保留原值就将与其进行“按位异或”运算的数的相应位置为0。(3)交换两个值,不用临时变量。7《C程序设计实例教程》山东科技大学机电学院§11.1位运算符四、“求反”运算符(~)1.运算规则对参与运算的数的各二进位按位求反,它是单目运算符,具有右结合性。即:~0=1;~1=0。例如:0000000000001001~11111111111101102.用途适当的使用可增加程序的移植性。8《C

12、程序设计实例教程》山东科技大学机电学院§11.1位运算符五、“左移”运算符(<<)1.运算规则把“<<”左边运算数的各二进位全部左移由“<<”右边的数指定的位数,高位丢弃,低位补0,它是双目运算符。例如:a<<4指把a的各二进位向左移动4位。a=00000011(十进制3)左移4位后为00110000(十进制48)2.用途左移1位相当于该数乘以2;左移n位相当于该数乘以2的n次方。9《C程序设计实例教程》山东科技大学机电学院§11.1位运算符六、“右移”运算符(>>)1.运算规则“右移”运算符(>>)2.用途右移1位相当于该数除以2;右移n位相当于该数除以2的n次方。3

13、.说明对于有符号数,在右移时,符号位将随同移动;当为正数时,最高位补0;而为负数时,符号位为1,最高位是补0还是补1取决于计算机系统的规定。10《C程序设计实例教程》山东科技大学机电学院§11.1位运算符七、位复合赋值运算符1.分类把“<<”左边运算数的各二进位全部左移由“<<”右边的数指定的位数,高位丢弃,低位补0,它是双目运算符。例如:a<<4指把a的各二进位向左移动4位。a=00000011(十进制3)左移4位后为00110000(十进制48)运算符名称例子等价于&=位与赋值a&=ba=a&b

14、=位或赋值a

15、=ba=a

16、b^=位异或

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。