C语言程序设计 教学课件 作者 王玉 主编第10章.ppt

C语言程序设计 教学课件 作者 王玉 主编第10章.ppt

ID:50020178

大小:551.00 KB

页数:15页

时间:2020-03-07

C语言程序设计 教学课件 作者 王玉 主编第10章.ppt_第1页
C语言程序设计 教学课件 作者 王玉 主编第10章.ppt_第2页
C语言程序设计 教学课件 作者 王玉 主编第10章.ppt_第3页
C语言程序设计 教学课件 作者 王玉 主编第10章.ppt_第4页
C语言程序设计 教学课件 作者 王玉 主编第10章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 王玉 主编第10章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章位运算本章主要内容10.1位运算符和位运算10.2位域(位段)10.1位运算符和位运算10.1.1按位与10.1.2按位或10.1.3按位异或10.1.4按位取反10.1.5按位左移10.1.6按位右移10.1.7位运算的复合赋值运算符位逻辑运算包括&(按位与)、

2、(按位或)、∧(按位异或)和~(按位取反)四种运算。位运算包括<<(左移)、>>(右移)两种运算。除按位取反为单目运算符外,其余都是双目运算符。10.1.1按位与参与运算的两个量,如果相对应的两位都为1,则该位的结果值为1,否则为0

3、。即:0&0==0,0&1==0,1&0==0,1&1==1参与运算的数以补码方式出现。按位与常用于将某个运算的某些位清0或提取某些位的值。10.1.2按位或参与运算的两个量,如果相对应的两位都是为0,则该位的结果位0,否则为1。即:0

4、0==0,1

5、0==1,0

6、1==1,1

7、1==1参与运算的两个数均以补码出现。按位或常用于将两个运算量的某些位置1。10.1.3按位异或参与运算的两个量,如果相应的两位相异,则该位的结果为1,否则为0。即:0∧0==0,0∧1==1,1∧0==1,1∧1==0按位异

8、或有“与1异或”该位翻转、“与0异或”该位不变的规律。10.1.4按位取反它将参于运算量的相应的值取反(1变0,0变1)。10.1.5按位左移按位左移运算是将一个运算量的各位依次左移若干位。低位补0,高位舍弃不要。左移一位相当于该数乘以2,但是,这是以该数左移之后不“溢出”为前提的。所谓“溢出”是指该数已超过机器字长所能容纳的范围。10.1.6按位右移按位右移运算是将一个运算量的各位依次右移若干位。低位被移出,空出的高位对无符数来说补0,对带符号数来说要按最高符号自身填补(如果符号位为1,即负数,则左

9、边补入的全为1;如果符号位为0,即正数,则左边补入的全为0)。位运算符的运算规则见表10.1。10.1.7位运算的复合赋值运算符C语言提供了五种位运算的复合赋值运算符,它们是&=(位与赋值)、

10、=(位或赋值)、∧=(位异或赋值)、<<=(按位左移赋值)、>>=(按位右移赋值)。例如:a∧=b相当于a=a∧ba&=b相当于a=a&ba

11、=b相当于a=a

12、ba>>=b相当于a=a>>ba<<=b相当于a=a<

13、域的定义和位域变量的说明位域是一种特殊形式的结构体结构中的成员,以位为单位来定义结构体中成员的长度。其形式为:struct位域结构名{位域列表};其中位域列表的形式为:类型说明符位域名:位域长度位域变量的说明与结构变量说明的方式相同。可采用先定义后说明,同时定义说明或者直接说明这三种方式。对于位域的定义尚有以下几点说明:①一个位域必须存储在同一个字节中,不能跨两个字节。②由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是不能超过8位二进位。③位域可以无位域名,这时它只用来作填充或调

14、整位置。10.2.2位域的使用位域的使用和结构成员的使用相同,其一般形式为:位域变量名・位域名位域允许用各种格式输出。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。