副件-第10章位运算

副件-第10章位运算

ID:40124052

大小:240.00 KB

页数:27页

时间:2019-07-22

副件-第10章位运算_第1页
副件-第10章位运算_第2页
副件-第10章位运算_第3页
副件-第10章位运算_第4页
副件-第10章位运算_第5页
资源描述:

《副件-第10章位运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章位运算浙江工业大学主要内容二进制位位运算位运算应用举例10.1二进制位引入:C语言是为描述系统而设计的,因此它具有汇编语言所具有的一些功能。C语言既有高级语言的特点,又有低级语言的功能,因此具有广泛的用途和很强的生命力。概念:位运算是指对二进制位的运算。注意:C语言规定只能对整型数据作位运算原码、反码、补码规则:正整数的原码、反码、补码相同。负整数的反码为其原码除符号位外按位取反(即0改为1、1改为0),而其补码为其反码末位加1。例如:+7的原码、反码、补码均为:0000000000000111-7的原码为:1000000000000111-7的反码为:111

2、1111111111000-7的补码为:1111111111111001机内的二进制码注意:在计算机内部,有符号整数都用该数的二进制补码形式存储例如:-713-4311111111111110010000000000001101111111111101010110.2位运算C语言提供下列6种位运算符运算符含义&按位与

3、按位或^按位异或~取反<<左移>>右移注意:位运算符的操作数只能是整型数据,字符类型数据以其ASCII码作位运算10.2位运算⒈按位与运算符(&)格式:A&B结果:如果两个相应的位均为1则该位为1,否则为0例如:例10.1计算下列表达式结果,并解释计算过

4、程。①若有定义shorta,b,c;a=14;b=23;计算表达式c=a&b值;②若有定义shorta,b,ca=–12;b=6;计算表达式c=a&b值。若有定义shorta,b,c;a=14;b=23;计算表达式c=a&b值;(14的补码)0000000000001110&)(23的补码)0000000000010111(14&23的补码)0000000000000110十进制值为6若有定义shorta,b,ca=–12;b=6;计算表达式c=a&b值。(–12的补码)1111111111110100&)(6的补码)0000000000000110(–12&6的补码

5、)0000000000000100十进制值为4按位与运算的一些特殊用途使特定位清零如,要使整数n的低8位清零,而高8位不变,则可以用“n&0xff00”实现。取指定位的值。如,要使整数n的低8位读出,则可以用“n&0x00ff”实现。10.2位运算⒉按位或运算符(

6、)格式:A

7、B结果:如果两个相应的位均为0,则该位为0,否则为1。例如:例10.2计算下列表达式结果,并解释计算过程。①若有定义shorta,b,c;a=14;b=23;计算表达式c=a

8、b值;②若有定义shorta,b,ca=–12;b=6;计算表达式c=a

9、b值。①若有定义shorta,b,c;a=14

10、;b=23;计算表达式c=a

11、b值;(14的补码)0000000000001110

12、)(23的补码)0000000000010111(14

13、23的补码)0000000000011111十进制值为31②若有定义shorta,b,ca=–12;b=6;计算表达式c=a

14、b值。(–12的补码)1111111111110100

15、)(6的补码)0000000000000110(–12

16、6的补码)1111111111110110十进制值为–10按位或运算的用途功能:按位或运算,可以将一个数中的某些二进位设置为1。如,若n=0x74d2,补码为“0111010011010010”,

17、表达式“n=n

18、1”可以将n的机内码的最低位设置为1,n的值为“0111010011010011”,即为0x74d3。表达式“n=n

19、0x8000”使n的机内码的最高位设置为1,即将符号位设置为负号。10.2位运算符⒊异或运算符(^)格式:A^B结果:如果两个相应的位相同则该位为0,否则为1例题例10.3计算下列表达式结果,并解释计算过程。①若有定义shorta,b,c;a=14;b=23;计算表达式c=a^b值;②若有定义shorta,b,ca=–12;b=6;计算表达式c=a^b值。①若有定义shorta,b,c;a=14;b=23;计算表达式c=a^b值;(14

20、的补码)0000000000001110^)(23的补码)0000000000010111(14^23补码)0000000000011001十进制数为25②若有定义shorta,b,ca=–12;b=6;计算表达式c=a^b值。(–12的补码)1111111111110100^)(6的补码)0000000000000110(–12^6补码)1111111111110010十进制数为–14按位异或运算的一些用途使特定位“取反”。如,表达式“n=n^0x0001”的结果是将n的最低1位取反,而前15位不变。表达式“n=n^0x00ff”是将n的最后8位取

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

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

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