- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言_中断和位运算
第13章
中断和位运算
;13.1 中 断
13.2 位 运 算
;13.2 位 运 算;
1.按位与运算
运算的含义是对参与按位与运算的两个运算对象按二进制方式对对应位进行与运算,也就是对参与运算的两个运算对象的机器码的对应位进行与运算。当与运算的两个对应位都为1时,运算结果的对应位也为1;否则运算结果的对应位为0。;假定某函数体有数据描述:
int a=3,b=–1;
char c=A
那么:
(1)表达式a 6的值是2。
a的机器码 = 0000 0000 0000 0011 6的机器码= 0000 0000 0000 0110
0000 0000 0000 0010
;2.按位或运算
按位或运算的含义是对参与按位或运算的两个运算对象按二进制方式对对应位进行或运算,也就是对参与运算的两个运算对象的机器码的对应位进行或运算。当或运算的两个对应位都为0时,运算结果的对应位也为0;否则运算结果的对应位为1。;假定某函数题有数据描述:
int a=3,b=–1;
char c=A
那么:
(1)表达式a | 6的值是7 。
a的机器码 = 0000 0000 0000 00116的机器码 = 0000 0000 0000 0110
0000 0000 0000 0111
;3.按位异或运算
^ 运算的含义是对参与按位异或运算的两个运算对象按二进制方式对对应位进行异或运算,也就是对参异或运算的两个运算对象的机器码的对应位进行异或运算。当异或运算的两个对应位不相同时,运算结果的对应位为1;否则运算结果的对应位为0。;假定某函数题有数据描述:
int a=3,b=–1;
char c=A
那么:
① 表达式a ^ 6的值是5。
a的机器码 = 0000 0000 0000 0011
^ 6的机器码 = 0000 0000 0000 0110
0000 0000 0000 0101
;4.按位取反运算
运算的含义是对参与取反运算的运算对象按二进制方式对每一个位求反,也就是对参与取反运算的运算对象的机器码按位取反。如果某位为1,则变为0;为0,则变为1。取反运算符是单目运算符。;假定某函数题有数据描述:
int a=3,b=–1;
那么:
a的机器码 0000 0000 0000 0011
~a的机器码 1111 1111 1111 1100
取反后a的值为–4。
b的机器码 1111 1111 1111 1111
~b的机器码 0000 0000 0000 0000
取反后b的值为0。
;5.按位左移运算
运算符的作用是对参与运算的运算对象按规定的位移数进行左移,即对运算对象的机器码左移规定的位。运算符的左操作数是需要移位的数据,右操作数是移位的位数。在移位的过程中高位移出的位舍弃,低位左移后补0。运算符构成的表达式一般格式为an,其中a是需要移位的数据,n是移位的位数。;假定某函数题有数据描述:
int a=3,b= –1;
那么:
a1 移位前a的机器码 = 0000 0000 0000 0011
移位后a的机器码 = 0000 0000 0000 0110 左移后补0
移位后a=6。
b4 移位前b的机器码 = 1111 1111 1111 1111
移位后b的机器码 = 1111 1111 1111 0000 左移后补0
移位后b= –16。
;6.按位右移运算
运算符的作用是对参与运算的运算对象按规定的位移数进行右移,即对运算对象的机器码右移规定的位。运算符的左操作数是需要移位的数据,右操作数是移位位数。在移位的过程中低位移出的位舍弃,高位右移后补0或1;如果需要移位的数据是无符号数则补0,有符号数则补符号位的值。运算符构成的表达式一般格式为an,其中a是需要移位的数据,n是移位的位数。;假定某函数题有数据描述:
int a=4,b= –16;
那么:
a=a1 移位前a的机器码 = 0000 0000 0000 0100
移位后a的机器码 = 0000 0000 0000 0010 (黑体表示右移后补位的内容)
b=b4 移位前b的机器码 = 1111 1111 1111 0000
移位后b的机器码 = 1111 1111 1111 1111
移位后b= –1。
;7.复合的位运算赋值运算符
位运算符和赋值运算符可以组成复合的位运算赋值运算符,具体含
文档评论(0)