- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
注意: 位运算符的运算对象只能是整型数据或字符型数据,不能是实型数据。 运算对象一律按二进制补码参加运算,并按位进行运算。 位运算的结果是一个整型数据。 例如:95可写算式如下: (9的二进制补码) (5的二进制补码) (1的二进制补码) 可见95=1。 11.2.2 按位或运算 按位或运算符“|”是双目运算符。其功能是与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 例如:9|5可写算式如下: | (十进制为13) 可见9|5=13 11.2.3 按位异或运算 按位异或运算符“∧”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现 例如9^5可写成算式如下: ∧ (十进制为12) 11.2.4 求反运算 求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反。 例如: ~ 9的运算为: ~ (0000000000001001) 结果为: 1111111111110110 练习与思考: 假设a=10,b=010,求ab、 a|b、 a∧b、~a。 11.2.5 左移运算 左移运算符“”是双目运算符。其功能把“ ”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数,高位丢弃,低位补0。 例如: a4 指把a的各二进位向左移动4位。如a十进制3),左移4位后十进制48)。 练习与思考: 任何一个数字左移一位都会变大2倍,左移二位变大4变,问左移n位变大多少? 11.2.6 右移运算 右移运算符“”是双目运算符。其功能是把“ ”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。 例如: 设 a=15, a2 表示把000001111 右移为 十进制3)。 练习与思考: 阅读下面程序,写出运行结果: main() { char a=a,b=b; int p,c,d; p=a; p=(p8)|b; d=p0xff; c=(p0xff00)8; printf(a=%d\nb=%d\nc=%d\nd=%d\n,a,b,c,d); } 11.2.7 位运算举例 【例11.5】取一个整数a从右端开始的4至7位。 【例11.6】对某个整数x进行左循环移位,移n位。 尚辅网 / 一、位运算符 二、位运算符的功能 右移 左移 取反 ~ 按位异或 ∧ 按位或 | 按位与 含义 运算符 back 11.2.1 按位与运算 按位与运算符“”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 back 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 尚辅网 /
文档评论(0)