版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第13章中断和位运算13.1 13.1 中中 断断 13.2 13.2 位位 运运 算算13.2 13.2 位位 运运 算算位运算符位运算符C语言提供了语言提供了6种位运算运算符。种位运算运算符。& 按位与运算按位与运算| 按位或运算按位或运算 按位异或运算按位异或运算 按位取反运算按位取反运算 按位右移运算按位右移运算 其中运算符是单目运算符,其余的都是双其中运算符是单目运算符,其余的都是双目运算符。位运算的运算对象只能是整型和字符目运算符。位运算的运算对象只能是整型和字符型数据,不能是浮点型数据。型数据,不能是浮点型数据。 当位运算两侧的运算对象类型不相同时,要当位运算两侧的运算对
2、象类型不相同时,要发生类型的自动转换。发生类型的自动转换。 1按位与运算按位与运算&运算的含义是对参与按位与运算运算的含义是对参与按位与运算的两个运算对象按二进制方式对对应位进行的两个运算对象按二进制方式对对应位进行与运算,也就是对参与运算的两个运算对象与运算,也就是对参与运算的两个运算对象的机器码的对应位进行与运算。当与运算的的机器码的对应位进行与运算。当与运算的两个对应位都为两个对应位都为1时,运算结果的对应位也时,运算结果的对应位也为为1;否则运算结果的对应位为;否则运算结果的对应位为0。假定某函数体有数据描述:假定某函数体有数据描述:int a=3,b=1;char c=A 那
3、么:那么:(1)表达式)表达式a & 6的值是的值是2。a的机器码的机器码=0000 00000000 0011& 6的机器码的机器码=0000 00000000 0110 0000 0000 0000 00102按位或运算按位或运算按位或运算的含义是对参与按位或运算按位或运算的含义是对参与按位或运算的两个运算对象按二进制方式对对应位进行或运的两个运算对象按二进制方式对对应位进行或运算,也就是对参与运算的两个运算对象的机器码算,也就是对参与运算的两个运算对象的机器码的对应位进行或运算。当或运算的两个对应位都的对应位进行或运算。当或运算的两个对应位都为为0时,运算结果的对应位也为
4、时,运算结果的对应位也为0;否则运算结果;否则运算结果的对应位为的对应位为1。 假定某函数题有数据描述:假定某函数题有数据描述:int a=3,b=1;char c=A 那么:那么:(1)表达式)表达式a | 6的值是的值是7 。a的机器码的机器码 = 0000 0000 0000 00116的机器码的机器码 = 0000 0000 0000 0110 0000 0000 0000 01113按位异或运算按位异或运算 运算的含义是对参与按位异或运算运算的含义是对参与按位异或运算的两个运算对象按二进制方式对对应位进行异或的两个运算对象按二进制方式对对应位进行异或运算,也就是对参异或运算的两个运算
5、对象的机运算,也就是对参异或运算的两个运算对象的机器码的对应位进行异或运算。当异或运算的两个器码的对应位进行异或运算。当异或运算的两个对应位不相同时,运算结果的对应位为对应位不相同时,运算结果的对应位为1;否则运;否则运算结果的对应位为算结果的对应位为0。 假定某函数题有数据描述:假定某函数题有数据描述:int a=3,b=1;char c=A 那么:那么: 表达式表达式a 6的值是的值是5。a的机器码的机器码 = 0000 0000 0000 0011 6的机器码的机器码 = 0000 0000 0000 0110 0000 0000 0000 01014按位取反运算按位取反运算 运算的含义
6、是对参与取反运算的运算运算的含义是对参与取反运算的运算对象按二进制方式对每一个位求反,也就对象按二进制方式对每一个位求反,也就是对参与取反运算的运算对象的机器码按是对参与取反运算的运算对象的机器码按位取反。如果某位为位取反。如果某位为1,则变为,则变为0;为;为0,则,则变为变为1。取反运算符是单目运算符。取反运算符是单目运算符。假定某函数题有数据描述:假定某函数题有数据描述:int a=3,b=1;那么:那么:a的机器码的机器码0000 0000 0000 0011a的机器码的机器码1111 1111 1111 1100取反后取反后a的值为的值为4。b的机器码的机器码1111 1111 11
7、11 1111b的机器码的机器码0000 0000 0000 0000取反后取反后b的值为的值为0。5按位左移运算按位左移运算 运算符的作用是对参与运算的运算对象运算符的作用是对参与运算的运算对象按规定的位移数进行左移,即对运算对象的机器按规定的位移数进行左移,即对运算对象的机器码左移规定的位。码左移规定的位。运算符的左操作数是需要运算符的左操作数是需要移位的数据,右操作数是移位的位数。在移位的移位的数据,右操作数是移位的位数。在移位的过程中高位移出的位舍弃,低位左移后补过程中高位移出的位舍弃,低位左移后补0。运算符构成的表达式一般格式为运算符构成的表达式一般格式为an,其中,其中a是是需要移
8、位的数据,需要移位的数据,n是移位的位数。是移位的位数。假定某函数题有数据描述:假定某函数题有数据描述:int a=3,b= 1;那么:那么:a1 移位前移位前a的机器码的机器码 = 0000 0000 0000 0011 移位后移位后a的机器码的机器码 = 0000 0000 0000 0110 左移后补左移后补0移位后移位后a=6。b运算符的作用是对参与运算的运算对象运算符的作用是对参与运算的运算对象按规定的位移数进行右移,即对运算对象的机按规定的位移数进行右移,即对运算对象的机器码右移规定的位。器码右移规定的位。运算符的左操作数是需运算符的左操作数是需要移位的数据,右操作数是移位位数。在
9、移位要移位的数据,右操作数是移位位数。在移位的过程中低位移出的位舍弃,高位右移后补的过程中低位移出的位舍弃,高位右移后补0或或1;如果需要移位的数据是无符号数则补;如果需要移位的数据是无符号数则补0,有符号数则补符号位的值。有符号数则补符号位的值。运算符构成的表运算符构成的表达式一般格式为达式一般格式为an,其中,其中a是需要移位的数是需要移位的数据,据,n是移位的位数。是移位的位数。假定某函数题有数据描述:假定某函数题有数据描述:int a=4,b= 16;那么:那么:a=a1 移位前移位前a的机器码的机器码 = 0000 0000 0000 0100移位后移位后a的机器码的机器码 = 0000 0000 0000 0010 (黑体表示右(黑体表示右移后补位的内容)移后补位的内容)b=b4 移位前移位前b的机器码的机器码 = 1111 1111 1111 0000移位后移位后b的机器码的机器码 = 1111 1111 1111 1111移位后移位后b= 1。7复合的位运算赋值运算符复合的位运算赋值运算符 位运算符和赋值运算符可以组成复合的位运算符和赋值运算符可以组成复合的位运算赋值运算符,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 亮化工程施工合同范本
- 2025版矿山劳务合同范本:工期延误赔偿条款3篇
- 2025年白蚁防制与森林病虫害防治合作合同3篇
- 展会布展合同
- 酒店服务员年终总结
- 北京体育职业学院《生态学数据绘图入门实验》2023-2024学年第一学期期末试卷
- 北京体育大学《商务礼仪主持艺术》2023-2024学年第一学期期末试卷
- 2025版高端别墅物业管理服务合同标准6篇
- 槽轮切片机构课程设计
- 北京师范大学《建筑智能环境学》2023-2024学年第一学期期末试卷
- 2024有限空间作业安全培训
- GB/T 44312-2024巡检机器人集中监控系统技术要求
- 统编版九下全册古诗词理解性默写及答案
- 【市质检】福州市2024-2025学年高三年级第一次质量检测 物理试卷(含答案)
- CJT 195-2004 外层熔接型铝塑复合管
- 工程图学及计算机绘图习题集
- 中国心力衰竭诊断和治疗指南2024解读
- 人教版三年级数学上册第七单元《长方形和正方形》(大单元教学设计)
- DBJ50-T-417-2022 建筑施工高处坠落防治安全技术标准
- 五年级上册英语教案-Unit 4 Lesson 21 What Year Is It-冀教版
- 学年上学期期末职业高中高二年级数学练习试卷3
评论
0/150
提交评论