- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第 12 章 位 运 算 13.1 二进制位运算 13.2 位段 13.3 程序举例 二进制位运算 13.1 教学进程 指对二进制位进行的运算。每个二进制位中只能存放0或1。 通常,将一个数据用二进制数表示后,最右边的二进制位称为最低位 (第0位),最左边的二进制位为最高位。 位运算 位 运 算 符 意 义 | ^ ~ 按位与 按位或 按位异或 按位取反 左移 右移 在C语言中共提供了六种位运算符 ● 在这六种位运算符中,其中按位 取反是单目运算符,只有一个运算对象, 其他均为双目运算符,有两个运算对象。 ● 位运算的运算对象只能是整型 (包括int,short,long,unsigned)或 字符型数据,而不能是实型数据。 注意 二进制位运算 ● 优先级 教学进程 !(逻辑非) - 按位取反~ -算术运算符 - 左移运算符与右移运算符 - 关系运算符 - 按位与、按位异或^、按位或| - 与 || - 赋值运算符 “按位与”运算符() 规则 ● 若两个运算对象的对应二进制位均是1,则结果的对应位 是1,否则为0。即对应二进制位上可能的“按位与”运算 组合为 00=1,01=0,10=0,11=1 例如,短整数(假设一个短整数占8 位二进制位,下同)13(十六进制表 示为0x0d)与短整数21(十六进制表 示为0x15)进行“按位与”如下:因此, 1321=5,即0x0d0x15=0x05。 0 0 0 0 1 1 0 1 13的二进制数 ()0 0 0 1 0 1 0 1 21的二进制数 0 0 0 0 0 1 0 1 “按位与”运算符() 13.1.1 ● 特别要指出的是,如果参加“按位与”运算的对象为负整数,则在 计算机中是以补码形式表示的。 教学进程 例如,短负整数-13(二进制补码的十六进制表示为0xf3)与短整数 21(十六进制表示为0x15)进行“按位与” 因此,-1321=17,即0xf30x15=0x11。 1 1 1 1 0 0 1 1 -13的二进制数补码表示 () 0 0 0 1 0 1 0 1 21的二进制数补码(正数的补码是其本身) 0 0 0 1 0 0 0 1 “按位与”运算符() 教学进程 例如,如果要取整型变量x的低字节(即低八位),则可以作 如下运算: x0xff。 功能 (1)取出数据中指定的位 (2)将数据中的指定位清零 例如,为了将整型变量x的第4位清零,则可以用如下赋值语句: x=x0xffef; 【例1】 编制一个C程序,其功能是将正整型数组中所有元素转换为不 大于它的最大偶数,并显示输出。 为了将一个正整数转换为不大于它的最大偶数,只需将该正整数所对 应的二进制数的最低位清零即可,即用0xfffe与该正整数作“按位与”运算。 其C程序如下: “按位与”运算符() 教学进程 #include stdio.h main() { int k,a[10]={23,14,24,31,46,55,33,68,27,40}; for (k=0;k<10;k++) printf(%5d,a[k]); printf(\n); for (k=0;k<10;k++) a[k]=a[k]0xfffe; /*将正整数转换为不大于它的最大偶数*/ for (k=0;k<10;k++) printf(%5d,a[k]); printf(\n); } 上述程序的运行结果为 23 14 24 31 46 55 33 68 27 40 22 14 24 30 46 54 32 68 26 40 “按位或”运算符(|) 12.1.2 教学进程 “按位或”运算符(|) 规则 ● 若两个运算对象的对应二进制位中有一个是1,则结果的 对应位是1,否则为0。即对应二进制位上可能的“按位或”运 算组合为 0|0=0,0|1=1,1|0=1,1|1=1 例如, 短整数13(十六进制表示为 0x0d)与短整数21(十六进制表示为
您可能关注的文档
最近下载
- 《修辞立其诚》课件.pptx VIP
- 2024-2025学年小学劳动四年级上册粤教版(主编:徐长发)教学设计合集.docx
- 2024年新人教道德与法治1年级上册全册教学课件(新版教材).pptx
- 人教版2025秋小学数学三年级教学课件数量间的乘除关系整理和复习.pptx VIP
- 一种紫外光固化双酚F型环氧丙烯酸酯树脂及其制备方法.pdf VIP
- 浅析核心素养下的初中语文教学.docx VIP
- 新解读《GB_T 36132-2018绿色工厂评价通则》.docx VIP
- 《聚合物生产工艺》第3章物料衡算part1.ppt
- 二年级劳动课课件(精选20篇).doc VIP
- 给排水钢管道支架强度详细计算书.docx VIP
文档评论(0)