- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言编程实战宝典
大家好!!!
第15章 底层程序设计
C语言提供了6个位运算符,这些运算符可以用于在整数和字符上进行按位运算。
15.1 位运算符
表15.1 位逻辑运算符
运算符
含义
~
按位求反
按位与
|
按位或
^
按位异或
15.1 位运算符
1. 二进制反码或按位取反: ~
~是一个单目运算符,它用来对一个二进制数按位取反,即将0变为1,将1变为0。例如,对十进制数28求反,需要先求出其对应的二进制数,再对该二进制数求反。
15.1 位运算符
28对应的二进制数为对其求反后结果如图15.1所示。
图15.1 对28求反
15.1 位运算符
2. 按位与:
二进制运算符通过对其两个操作数逐位进行比较来产生一个新值。对于每个二进制位,只有两个操作数的对应位都为1时结果才为1,否则为0。如果用真、假来描述,那就是只有当两个位操作数都为真时结果才为真,否则结果为假。
15.1 位运算符
例如,求59应该先将它们各自转换为二进制数,然后再进行按位与,如图15.2所示。
图15.2 59
15.1 位运算符
3. 按位或:|
二进制运算符 | 通过对两个操作数逐位进行比较来产生一个新值。对于每个二进制位,如果任意一个操作数中对应的位为1,那么结果位就为1。如果用真、假来描述,那就是如果任意一个操作数为真或者两个都为真,那么结果就为真,否则为假。
15.1 位运算符
例如,求5|9应该先将它们各自转换为二进制数,然后再进行按位或,如图15.3所示。
图15.3 5|9
15.1.2 位逻辑运算符的用法
1. 清零
将二进制零:
15.1.2 位逻辑运算符的用法
2. 取指定位
取整数x的低4位,x
15.1.2 位逻辑运算符的用法
3. 保留特定位
将整数x的第3位、第4位保留下来,x
15.1.2 位逻辑运算符的用法
4. 打开位
打开整数x的第1位,x即将第1位设置为1,并保留其它所有位不变:
15.1.2 位逻辑运算符的用法
5. 关闭位
关闭整数x的第1位,x即将第1位设置为0,并保留其它所有位不变:
15.1.2 位逻辑运算符的用法
6. 转置位
转置整数x的第1位和第2位,x即打开第1位,关闭第2位:
15.1.3 移位运算符
1. 左移运算符:
左移运算符 将其左侧操作数中的每位都向左移动,移动的位数由其右侧的操作数指定。空出的位使用0来填充,并且将移出左侧操作数最高位的那些位丢弃掉。
下面是使用左移运算符的例子:
2 /*左移两位*/
/*结果*/
15.1.3 移位运算符
2. 右移运算符:
右移位运算符将其左侧操作数中的每位都向右移动,移动的位数由其右侧的操作数指定。将移出左侧操作数最低位的那些位丢弃掉。
对于无符号整数来说,使用0填充左端空出的位。
对于有符号整数来说,其结果依赖于具体的机器。空出的位可能用0填充,也可能使用符号位(最左端的位)的值来填充。
15.1.3 移位运算符
对于带符号整数,有如下结果:
2 /*最高位为符号位*/
/*对某些系统,使用0 来填充高位*/
/*对某些系统,使用符 号位的值来填充高位*/
对于无符号整数,有如下结果:
2 /*无符号整数*/
/*右移后的结果 */
15.1.4 移位运算符的用法
移位运算符能够提供快捷、高效的对于2的幂的乘法和除法。
左移1位相当于乘以2,右移1位相当于除以2。
假设number是一个整型变量,则有:
number n number乘以2的n次幂
number n
您可能关注的文档
最近下载
- 圆的滚动.ppt VIP
- 川教版(2024)《信息技术》四年级上册 第二单元 第4节《有趣好玩的编码》教案.docx VIP
- 大家的日语中级 1 标准习题集_13516410.pdf VIP
- 小学五年级上册综合实践活动教案 全册.pdf VIP
- 川教版2024四年级上册信息技术第二单元第3节《大显神通的编码》教案.docx VIP
- 一年级口算练习(5以内的减法).pdf VIP
- 事业单位综合应用能力C类考前模拟卷9及参考答案精编版.docx VIP
- 《如何培养孩子社会能力》讲义.pptx VIP
- 《爆款文案》分享课件.pptx VIP
- 部编人教版一年级语文上册《小小的船》教案教学设计.pdf VIP
文档评论(0)