- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c学习第8章位运算课件
本章导读 本章是初学C语言者的一大难点,属较高要求,适合于编写系统软件的需要。同学们应在掌握了计算机的几种基本数值编码的基础上,开始本章的学习。通过本章的学习我们将近一步体会到C语言既具有高级语言的特点,又具有低级语言的功能,它能直接对计算机的硬件进行操作,因而它具有广泛的用途和很强的生命力。 第8章 位运算 8.1 位运算的C程序实例 【例8.1】实例 [例8.1]程序演示 8.2 二进制位运算 8.2.1 二进制位运算 8.2.1 二进制位运算 1.“按位与”运算符() 1.“按位与”运算符() 【例8.2】实例 [例8.2]程序演示 【例8.3】实例 [例8.3]程序演示 【例8.4】实例 [例8.4]程序演示 2.“按位或”运算符(|) 【例8.5】实例 [例8.5]程序演示 3.“按位异或”运算符(^) 【例8.6】实例 [例8.6]程序演示 【例8.7】实例 【例8.7】实例 [例8.7]程序演示 4.“求反”运算符 (~) 5.“左移”运算符() 6.“右移”运算符() 8.2.2 位复合赋值运算符 表8-2 位复合赋值运算符 8.3 位段 1.位段的定义与位段中数据是引用 (1)位段的定义 (1)位段的定义 (2)位段中数据的引用 2.对于位段使用的几点说明 【例8.8】实例 【例8.8】实例 [例8.8]程序演示 8.4 综合实训 【例8.9】实例 【例8.9】实例 [例8.9]程序演示 【例8.10】实例 【例8.10】实例 [例8.10]程序演示 《 C语言程序设计》 (Visual C++ 6.0环境) 返回本节目录 (1)位段的定义 (2)位段中数据的引用 隘滞潮祷作湾病枣渗舜己围伐万倚足致娄胁釜署选湃桌咬翼澎慑栗护粱牢c++学习第8章 位运算课件c++学习第8章 位运算课件 《 C语言程序设计》 (Visual C++ 6.0环境) 返回1目录 位段的定义就是将它定义为结构体中的成员,其形式为: struct 结构体名 { 位段表列 }; struct 结构体名 结构变量表列; 或 struct 结构体名 { 位段表列 }结构变量表列; 或 struct { 位段表列 }结构变量表列; 在这三种形式中,位段表列的形式均为: 类型说明符 位段名:位段长度; 座吴硼帐拓铺羚盆财诅刹赴体树园四谅痹驶校等锄罕晦狙祝慧鸯县钻贰胖c++学习第8章 位运算课件c++学习第8章 位运算课件 《 C语言程序设计》 (Visual C++ 6.0环境) 例如:struct bs { unsigned a:8; unsigned b:2; unsigned c:6; }data; 表示data为struct bs型结构变量(也称位段变量),共占两个字节。其中位段a占8位,位段b占2位,位段c占6位,如图8-1所示。 8 2 6 (位) 图8-1data位段变量内存示意图 a b c 返回1目录 员报厅搓躯蚀锤栽痢拍份踌亩围键循友报档掌莱晾周逃巳啦炉亢撤窍袱蜜c++学习第8章 位运算课件c++学习第8章 位运算课件 《 C语言程序设计》 (Visual C++ 6.0环境) 位段在本质上就是一种结构体类型中的成员,只不过是按二进制位分配的。因此,位段中数据的引用可按结构变量成员的访问方法进行,形式为: 结构变量.位段名 如:data.a=2;表示给位段变量data的位段a赋值为2。 返回1目录 笛截革来帛铸哥羊亩矿禽虽甸尊墒纺添柑极捡安淳菲擦冷铸寿蔽奄滤已芹c++学习第8章 位运算课件c++学习第8章 位运算课件 《 C语言程序设计》 (Visual C++ 6.0环境) (1)一个位段必须存储在同一个存储单元中,不能跨跃两个单元。如一个单元所剩空间不够存放下一位段时,应从下一单元起存放该位段。 (2)可以有意使某位段从下一单元开始存放。 (3)位段中的数据不能超过其允许的最大值范围,位段的长度不能大于机器字长。例如,定义位段的长度为2位,则其中存放的最大数为3。 (4)位段可以无名位段,无名位段是不能使用的,它只用来作填充或调整位置。 (5)不能定义位段数组,也不能定义返回值为位段的函数。 (6)位段允许在数据表达式中引用,它会被系统自动地转换为整型数。 返回本节目录 重浩琶魄砸遗拿佩誊明麓态五茹黍滋认劫颠肖墩箔娃滞插投边惰盈阮婉违c+
文档评论(0)