- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.1 位运算符 C语言提供了六种位运算符,其含义、优先级和结合性如表9-1所示: 9.1.1 按位与运算 (1)格式:xy (2)规则:对应位均为1时才为1,否则为0:39=1。 例如,39=1: 0011 1001 0001=1 (3)主要用途:取(或保留)1个数的某(些)位,其余各位置0。?【例9.1】将a的高八位清 0,低八位保留 void main() { int a=-5,b=255,c; /* b=255的二进制数为0000000011111111*/ c=ab; /* 将清除a的高八位,保留低八位*/ printf(a=%d ,b=%d,c=%d(%o),a,b,c,c); } 9.1.2 按位或运算 (1)格式:x|y (2)规则:对应位均为0时才为0,否则为1:3|9=11。 例如,3|9=11: 0011 | 1001 1011=11 (3)主要用途:将1个数的某(些)位置1,其余各位不变。【例9.2】把a的高八位置1 ,低八位保留。 #include stdio.h void main() { int a=9,b=-256,c; /* b=-256的二进制补码为1111111100000000*/ c=a|b; /*将a的高八位置1,低八位保留*/ printf(a=%d b=%d c=%d(%o),a,b,c,c); } a=9 b=-256 c=-247(177411) 9.1.3 按位异或运算──^ (1)格式:x^y (2)规则:对应位相同时为0,不同时为1:3^9=10。 (3)主要用途:使1个数的某(些)位翻转(即原来为1的位变为0,为0的变为1),其余各位不变。 例如9^5可写成算式如下: ^ (十进制为12) 下面举例说明异或运算的应用: (1)按位异或运算通常用来将变量的值清“0”,即a^a,也就是自己和自己异或。 例如: ^ (2)按位异或运算还常常用来进行加密和解密的运算。 例如,设5为密钥。 加密运算: (9是明码) ^ (5是密钥) (加密后密码为12) 解密运算: (12是密码) ^ (5是密钥) (解密后得到明码9) (3)从上面的例子可看到,与“1”异或则取反,与“0”异或则保留。利用这个特性,可将变量的某些位取反或保留。例如,将变量a的1、3、5、7……取反,其他位保留,则表达式为: a^21845 (21845二进制数为0101010101010101)。 【例9.3】用异或运算对字符串进行加密和解密。 #include stdio.h void main() {char s[30]=I am a student; int i=0; puts(s); /*输出明文*/ while(s[i]!=\0) {s[i]=s[i]^6; /*字符加密,6位密钥*/ i++; } puts(s); /*输出密文*/ i=0; while(s[i]!=\0) {s[i]=s[i]^6; /*字符解密,6位密钥*/ i++; } puts(s); /*输出解密的明文*/ } 9.1.4.按位取反──~ (1)格式:~x (2)规则:各位翻转,即原来为1的位变成0,原来为0的位变成1:在IBM-PC机中,~0=0xffff,~9=0xfff6。 (3)主要用途:间接地构造一个数,以增强程序的可移植性。 9.1.5.按位左移── (1)格式:表达式1表达式2 (2)规则:其功能把表达1的各二进制位全部左移表达2指定的位数,移动后高位丢弃,低位补0。 例如: a4
您可能关注的文档
- 应用统计学课件作者孙炎第9章节时间序列分析.PPT
- 城市公共交通运营管理课件作者莫露全刘毅等编著第十二章节城市轨道交通运营管理的岗位结构与职责规定.ppt
- 应用统计学课件作者孙炎第10章节指数与因素分析.PPT
- 城市公共交通运营管理课件作者莫露全刘毅等编著第十一章节城市轨道交通概述.ppt
- 应用文案写作课件作者张波第九章节到结束.ppt
- 数控机床电气系统装调与维修一体化教程课件作者韩鸿鸾模块五5.4力矩电机进给驱动的装调与维修.ppt
- 数控机床电气系统装调与维修一体化教程课件作者韩鸿鸾模块五5.5数控机床有关参考点的安装与调整.ppt
- 应用文案写作课件作者张波第七章节至第八章节.ppt
- 数控机床电气线路维修课件作者李长军第二章节.ppt
- 数控机床电气线路维修课件作者李长军第六章节.ppt
文档评论(0)