C语言程序设计4ppt125.ppt

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

C语言程序设计4 C语言程序设计 第十章 位运算 Contents 10.1 概述 概念 所谓位运算是指进行二进制位的运算。 表 10.1 位运算 位运算符中只有运算符“~”是单目运算符,其他均为双目运算符,即要求运算符的两侧各有一个操作数,且操作数只能是整型或字符型数据。 10.2 位运算符和位运算 1 按位与运算符 () 运算符“”要求参加运算的两个操作数的各个位分别对应,按二进制位进行“与”运算。 按“位与”的一般格式为: 操作数1 操作数2 其中“操作数1”和“操作数2”均为整型数据。 规则:如果两个操作数对应的二进制位都为1,则该位的运算结果为1,否则为0。即, 11=1 ; 10=0 ; 01=0 ; 00=0 ; 例10.1 计算32。 3 = 0000 0011 () 2 = 0000 0010 0000 0010 因此,32的值为2。 例10.2 计算1516。 15 = 0000 1111 ( ) 16 = 0001 0000 0000 0000 因此,1516的值为0。 “位与”运算的特殊的用途 10.2 位运算符和位运算 2 按位或运算符(|) 运算符“”要求参加运算的两个操作数的各个位分别对运算符“|”要求参加运算的两个操作数的各个位分别对应,按二进制位进行“或”运算。 ,按二进制位进行“与”运算。 按“位或”的一般格式为: 操作数1 | 操作数2 其中“操作数1”和“操作数2”均为整型操作数。 如果两个操作数对应的二进制位中只要有一个为1,则该位的运算结果为1,否则为0。即, 1|1=1 ; 1|0=1 ; 0|1=1 ; 0|0=0 ; 例10.3 计算3|2。 3 = 0000 0011 ( | ) 2 = 0000 0010 0000 0011 因此,3|2 的值为3。 按“位或”还有以下一些特殊的用途: 将操作数的低字节部分(或高字节部分)置1 规则:将一个操作数的低字节全部置为1,只要将它11111111进行按“位或”运算即可。如将它的高字节全部置为1,可00000000做按“位或”运算。 3 按位取反运算符(~) 运算符“~”是单目运算符,将操作数的各个二进制位都取其反值,1变为0,0变为1。即, ~1=0 ; ~0=1 ; 例10.5 计算 ~255,即对十进制数255按位取反。 255的二进制形式为11111111, 因此,~255的值为65280(即二进00000000)。 值得注意的是,不要认为 ~255的值是-255。 按位取反还有以下一些特殊的用途: ① 将一个操作数的某些位置0。 规则:将原操作数(设为x)与新操作数(设为~y)做按位“与”运算,此处的y是这样的一个数,即要求x中置为0的那些位均为1,其余位均为0。 例如,原操作数x00000101,现要将x的右边第1位和第3位置0,设新操作数y00000101,则~y11111010,计算x~y,得到结00000000。 ② 不管计算机系统是以2个字节还是以4个字节存放一个整数x,如果要将x的最低位置0,可以利用操作数x=x?~1来实现。因为在以16位存储一个整数时,1的二进制形式00000001,~1的二进制形式11111110。在以32位存储一个整数 时,~1的二进制形式1111111111111110。因此,采用x?~1进行计算,都可以达到将x的最低位置0的目的。 4 按位异或运算符?(^) 运算符“^”要求参加运算的两个操作数的各个位分别对应,按二进制位进行“异或”运算。 规则:两个操作数对应的二进制位相同,则该位的运算结果为0,对应位不同,则该位结果为1。即, 0^0=0 ; 0^1=1 ; 1^0=1 ; 1^1=0 ; 例10.6 计算10^20。 10 = 0000 1010 (^) 20 = 0001 0100 0001 1110 因此,10^20的值为30。 例10.7 计算7^12。

文档评论(0)

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

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

1亿VIP精品文档

相关文档