版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大家好!C语言提供了6个位运算符,这些运算符可以用于在整数和字符上进行按位运算。15.1 15.1 位运算符位运算符表15.1 位逻辑运算符 运算符 含义 按位求反 & 按位与 | 按位或 按位异或1. 二进制反码或按位取反: 是一个单目运算符,它用来对一个二进制数按位取反,即将0变为1,将1变为0。例如,对十进制数28求反,需要先求出其对应的二进制数,再对该二进制数求反。28对应的二进制数为:00011100,对其求反后结果如图15.1所示。图15.1 对28求反2. 按位与:&二进制运算符&通过对其两个操作数逐位进行比较来产生一个新值。对于每个二进制位,只有两个操作
2、数的对应位都为1时结果才为1,否则为0。如果用真、假来描述,那就是只有当两个位操作数都为真时结果才为真,否则结果为假。例如,求5&9应该先将它们各自转换为二进制数,然后再进行按位与,如图15.2所示。 图15.2 5&93. 按位或:|二进制运算符 | 通过对两个操作数逐位进行比较来产生一个新值。对于每个二进制位,如果任意一个操作数中对应的位为1,那么结果位就为1。如果用真、假来描述,那就是如果任意一个操作数为真或者两个都为真,那么结果就为真,否则为假。例如,求5|9应该先将它们各自转换为二进制数,然后再进行按位或,如图15.3所示。 图15.3 5|91. 清零将二进制数00
3、110101清零:2. 取指定位取整数x的低4位,x=00110101:3. 保留特定位将整数x的第3位、第4位保留下来,x=00110101:4. 打开位打开整数x的第1位,x=00110101,即将第1位设置为1,并保留其它所有位不变:5. 关闭位关闭整数x的第1位,x=00110101,即将第1位设置为0,并保留其它所有位不变:6. 转置位转置整数x的第1位和第2位,x=00110101,即打开第1位,关闭第2位:1. 左移运算符:左移运算符 将其左侧操作数中的每位都向左移动,移动的位数由其右侧的操作数指定。空出的位使用0来填充,并且将移出左侧操作数最高位的那些位丢弃掉。下面是使用左移运
4、算符的例子: (10001010) l右移位运算符将其左侧操作数中的每位都向右移动,移动的位数由其右侧的操作数指定。将移出左侧操作数最低位的那些位丢弃掉。l对于无符号整数来说,使用0填充左端空出的位。l对于有符号整数来说,其结果依赖于具体的机器。空出的位可能用0填充,也可能使用符号位(最左端的位)的值来填充。对于带符号整数,有如下结果:(10001010) 2 /*最高位为符号位*/(00100010) /*对某些系统,使用0 来填充高位*/(11100010) /*对某些系统,使用符 号位的值来填充高位*/对于无符号整数,有如下结果:(10001010) 2 /*无符号整数*/(001000
5、10) /*右移后的结果 */l移位运算符能够提供快捷、高效的对于2的幂的乘法和除法。l左移1位相当于乘以2,右移1位相当于除以2。l假设number是一个整型变量,则有:number n 如果number非负,则用number除以2的n次幂位字段是一个signed int或unsigned int中一组相邻的位。位字段由一个结构体来声明创建,该结构体声明为每个字段提供字段名,并指定字段的宽度。例如,下面的声明建立了4个1位的字段:struct unsigned int aaa: 1; unsigned int bbb: 1; unsigned int ccc: 1; unsigned int ddd: 1; abcd;在结构体变量abcd中包含了4个1位的字段。可以使用结构体的成员运算符将各个成员值赋给单独的字段。abcd.aaa = 0;abcd.bbb = 1;因为abcd中的每个字段都只有1位,因此每个字段只能被赋值为1或者0。结构体变量abcd被存储在一个int类型大小的存储单元中,但是仅有其中的4位被变量使用。l本章介绍了C语言中常用的位运算符,包括按位求反、按位与、按位或、按位异或以及左移和右移运算符。l位逻辑运算符有一些特殊的用途,例如清零、取指定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国旗讲话稿-只有安全才会幸福
- 职业病防治模拟习题含参考答案
- 四级劳动关系协调员练习题库(附参考答案)
- DB52-T 1840-2024 婴幼儿照料培训指南
- 2024年新人教版七年级上册语文教学课件 第4单元 13《纪念白求恩》课时1
- 北宁市2025届数学三上期末调研试题含解析
- 博尔塔拉蒙古自治州阿拉山口市2024年四年级数学第一学期期末统考模拟试题含解析
- 策勒县2025届四年级数学第一学期期末考试试题含解析
- 发酵间和糖化间框架结构厂房工程施组(技术标)
- 某名牌大学第二教学楼工程施工组织设计
- 人教版体育三年级上册立定跳远 教案
- 《Photoshop CC图像处理》课件-任务4 调整色彩色调
- 建筑与市政工程施工质量控制通-用规范考核试题
- GB/T 44253-2024巡检机器人安全要求
- 2024年海南琼海市事业单位招聘考试笔试(高频重点复习提升训练)共500题附带答案详解
- 深度学习入门(基于Python的理论与实现)
- 个体工商户服务月开展情况总结(通用3篇)
- 跌倒事件不良事件医疗安全(不良)事件讨论表
- 培养良好学习习惯主题班会ppt课件
- 工字钢微型钢桩施工方案重点
- 市政道路施工重点难点 市政工程重点、难点分析及解决措施
评论
0/150
提交评论