- 1、本文档共13页,可阅读全部内容。
- 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章 位运算 9.1 位运算和位运算符 所谓位运算是指进行二进制位的运算。C语言提供了六种位运算符: 按位与 | 按位或 ^ 按位异或 ~ 按位反 左移 右移 以上运算符除了“~”为单目运算符外,其余均为双目运算符。另外,运算对象只能是整型或字符型数据,不能是实型数据。 9.1 位运算和位运算符 1.按位与运算“” 按位与运算符“”是让参与运算的两个数对应的二进位分别相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。即:00=0 01=0 10=0 11=1。 按位与运算通常用来对某些位清零(任何位上的二进数只要和0与,该位即被屏蔽)或保留某些位(和1与时,该位原值不变)。 9.1 位运算和位运算符 2.按位或运算“|” 按位或运算符的功能是参与运算的两个数对应的二进位相或。只要对应的二个二进位有一个为1,结果位就为1;只有当两个对应位的数都为0时,该位的运算结果才为0。即:0|0=0 0|1=1 1|0=1 1|1=1。 9.1 位运算和位运算符 3.按位异或运算“^” 按位异或运算的功能是参与运算的两数各对应的二进位相异或。当两个对应的二进位相异时,结果为1,两个对应的二进位相同时,结果为0。即:0^0=0; 0^1=1; 1^0=1; 1^1=0。 按位异或运算的主要应用: 1)使特定位翻转 2)与0按位异或,保留原值 3)交换两个值,不需要临时变量 9.1 位运算和位运算符 4.按位取反运算“~” 按位取反运算符为单目运算符,运算对象就置于运算符的右边,具有右结合性。其功能是把运算对象的内容按位取反,即将1变0,将0变1。 5.左移运算“” 左移运算用来把“ ”左边的运算数的各二进位全部左移若干位,移动的位数由“”右边的数指定。左移时,高位移出的部分舍弃,低位补0。 9.1 位运算和位运算符 6.右移运算“” 右移运算用来把“”左边的运算数的各二进位全部右移若干位,移动的位数由“”右边的数字指定。右移时,低位移出的二进制数舍弃,左端移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1,这是因为负数在机器内均用补码表示的原因 9.1 位运算和位运算符 7.位运算与赋值运算 位运算符与赋值运算符可以组成复合赋 值运算符,如:=,|=,=,=,^= 例如:a|=b相当于a=a|b, a=b相当于a=ab。 9.2 位运算举例 【例9.3】编写程序,完成整数a与7按位异或运算。 【例9.4】输出一个整数从右端开始的4~7位。 【例9.5】输入一个正整数a,要求按二进制位输出该数。 9.3 位段 C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员,称为“位段”或“位域”。定义位段的一般形式: 其中“位段列表”的形式为: 9.3 位段 例如: struct bs {unsigned a:3; unsigned b:2; unsigned c:2; }; 位段变量的说明与结构变量说明的方式相同。 可采用先定义后说明,同时定义说明或者直接说明这三种方式。 9.4 实训 一、实训目的 掌握位运算符的基本概念。 掌握位运算的运算规则。 重点掌握位逻辑运算符的功能。 掌握位数不同的运算数之间的运算规则。 二、实训内容:请见教材要求。 * * 北京科技大学 计算机系 C 语言程序设计 9.1 位运算和位运算符 9.2 位运算举例 9.3 位段 本章主要内容 返回 返回 struct 位段结构名 {位段列表}; 类型说明符 位段名:位段长度 * *
您可能关注的文档
- C语言程序设计(第二版) 教学课件 作者 刘加海 朱云其第一章 第一章.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch1.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch2.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch3.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch4.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch5.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch6.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch7.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch8.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch10.ppt
- 中医药社区服务项目社区影响力评估与提升策略报告.docx
- 食品安全监管2025:农产品质量安全追溯体系法规与政策研究报告.docx
- 新能源汽车电池回收行业环保法律法规体系构建与完善研究报告.docx
- 2025年3D打印电子材料与电路工艺技术发展报告.docx
- 2025年3D打印个性化耳鼻喉科医疗器械应用可行性研究报告.docx
- 2025年智能穿戴健身消费报告:运动健康市场趋势与机遇分析.docx
- SpaceX商业航天市场2025年技术创新趋势分析报告.docx
- 2025年特色农产品电商平台农产品电商平台农产品质量安全监管政策研究报告.docx
- 2025年邮轮旅游市场风险管理报告:应对突发事件的预案与措施.docx
- 2025年金融机构理财产品创新与金融科技监管政策适应性研究报告.docx
最近下载
- 铁路局招聘考试《铁路基础知识》100题及答案.docx
- 《QSY1237-2009-工艺和设备变更管理》.pdf
- 期末复习专项训练【实验题】(试题)小学科学五年级上册 教科版.docx VIP
- 农旅融合:推进乡村振兴,实现双赢.docx VIP
- 技术标书技术方案(完整资料).pdf VIP
- 13G311-1:混凝土结构加固构造.pdf VIP
- DB21_T 1565-2015预应力混凝土管桩基础技术规程.pdf
- 夏季防暑降温施工方案_夏季防暑降温施工方案夏季防暑降温工作方案.pdf VIP
- 危重症患者口渴的护理PPT.pptx
- 八年级人教版物理下《12.2滑轮》一等奖优秀教学设计 .pdf VIP
文档评论(0)