- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言程序设计-提高篇票-第4章位运算
C语言程序设计—提高篇 C语言既是一种高级语言,广泛应用于应用软件的开发和程序设计,同时又是一种低级语言,可以用于系统软件的开发和程序设计,如自动控制系统中的过程控制、参数检测、数据通讯等控制程序,都可以综合利用C语言中的指针操作、位运算和位段技术来实现。 本章介绍位运算的基本形式和常用运算符,并简要介绍位段的概念。位运算的深入学习,应该在《计算机原理》和《汇编语言程序设计》课程中进行。 位运算概述 所谓“位运算”,是指按二进制位进行运算。 位运算的特点:运算按二进制逐位进行——没有借位和进位。 位运算量:整型(int,short,unsiged,long)/字符型(以补码/ASCII码形式存储),不可为实型。 位运算符还可与赋值运算符相结合,进行位运算赋值操作。如: a=b 等价于 a=ab a=b 等价于 a=ab 位运算时的数据类型为char/int,分析时要化为二进制形式,但在程序中书写及输出结果时仍为char/int。 负数以补码形式参与运算 注意与逻辑运算区别 交换两个整数值不用临时变量 #include stdio.h void main() { int a=3, b=4 ; a=a^b; b=b^a; a=a^b; printf(“a=%d b=%d\n, a,b); } 结果:a=4 b=3 应用示例 ① 从整数a最右端第m个位置开始取该位开始右面n位 。 算法如下: b=a(m-n+1) c=~(~0n) d=bc 注:位自右向左从0开始编号 应用示例 ② 将一个整数a循环右移n位。 算法如下: b=a(16-n) c=an c=c|b C语言允许在一个结构体中以位为单位来指定其成员所占内存长度。这种以位为单位的成员称为“位段”。 * ——提高篇 第4章 位运算 内容概述 位运算操作 位段的概念 教学目标 字节和位的有关概念; 正确使用常见的位运算符和位运算操作; 牢记位段的要领及位段的使用方法。 4.1位运算符和位运算 位运算符 (Bitwise Operators) a 2 左移 flag ^ 0xC4 按位异或 ^ b 3 右移 flag 0x37 按位与 (关系运算符) (低) flag | 0x5A 按位或 | (高) ~flag 按位取反 ~ (算术运算符) 举例 (赋值运算符) 优先级 名称 运算符 按位与 (Bitwise AND) 运算规则 0 0 = 0; 0 1 = 0; 1 0 = 0; 1 1 = 1; 用法 按位清零 保留某些指定位 位运算符的使用 例1 #include stdio.h void main( ) { int a,b; printf(Enter a and b:); scanf(%d,%d,a,b); printf(ab=%d\n,ab); } 计算 010 000 (a) 011 111 (b) 010 000 001 010 (a) 010 000 (b) 000 000 Enter a and b: 16,31 ab=16 Enter a and b: 10,16 ab=0 按位或 (Bitwise Inclusive OR) 运算规则 0 | 0 = 0; 0 | 1 = 1; 1 | 0 = 1; 1 | 1 = 1; 用法 按位定值为1 例2 #include stdio.h void main( ) { unsigned char a,b; printf(Enter a and b:); scanf(%o,%o,a,b); printf(a|b=%o\n,a|b); } Enter a and b: 20,30 a | b=30 Enter a and b: 12,20 a | b=32 计算 010 000 (a) | 011 000 (b) 011 000 001 010 (a) | 010 000 (b) 011 010 按位异或 (Bitwise Exclusive OR, XOR) 运算规则 0 ^ 0 = 0; 0 ^ 1 = 1; 1 ^ 0 = 1; 1 ^ 1 = 0; 说明 相“异”则为1,相“同”则为0 例3以下程序的功能是将a数据的
您可能关注的文档
- c语言程序设成计课件.ppt
- c语言程序设夫计课件第八章.ppt
- c语言程序设计cpd00更多课图件请进我文库.ppt
- c语言程序设计cpd03更多课件请进四我文库.ppt
- c语言程序设计ppt第九章群体类会和群体数据的组织.ppt
- c语言程序设计ppt第时8章结构体程序设计.ppt
- c语言程序设计ppt女第一章绪论.ppt
- c语言程序设计ppt-台第8章-数组.ppt
- c语言程序设计ppt万,第9章文件程序设计.ppt
- c语言程序设计pp使t-第10章-02.ppt
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
最近下载
- 2020-2021某大学《管理学原理》期末课程考试试卷合集(含答案).doc
- 医院重大经济事项决策程序.docx VIP
- 口腔医疗器械清洗.pptx VIP
- 第31届WMO融合创新讨论大会复赛三年级试卷.docx VIP
- 未来学校教育技术支持优化数字化教学环境培训课件.pptx
- DB3305T 321-2024乡村运营(村庄经营)指南.pdf VIP
- 第31届WMO融合创新讨论大会复赛七年级试卷.docx VIP
- 第31届WMO融合创新讨论大会复赛八年级试卷.docx VIP
- 公共管理伦理学 全套课件.ppt
- 2025年渭南市事业单位招聘高层次人才和紧缺特殊人才(191人)笔试备考试题及答案解析.docx
文档评论(0)