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

上传人:E**** 文档编号:89190785 上传时间:2019-05-21 格式:PPT 页数:15 大小:551KB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者 王玉 主编 第10章_第1页
第1页 / 共15页
C语言程序设计 教学课件 ppt 作者 王玉 主编 第10章_第2页
第2页 / 共15页
C语言程序设计 教学课件 ppt 作者 王玉 主编 第10章_第3页
第3页 / 共15页
C语言程序设计 教学课件 ppt 作者 王玉 主编 第10章_第4页
第4页 / 共15页
C语言程序设计 教学课件 ppt 作者 王玉 主编 第10章_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 王玉 主编 第10章》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 王玉 主编 第10章(15页珍藏版)》请在金锄头文库上搜索。

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 位运算的复合赋值运算符,位逻辑运算包括&(按位与)、|(按位或)、(按位异或)和(按位取反)四种运算。位运算包括(右移)两种运算。除按位取反为单目运算符外,其余都是双目运算符。,10.1.1 按位与,参与运算的两个量,如果相对应的两位都为1,则该位的结果值为1,否则为0。即: 0&0=0, 0&1=0, 1&0=0, 1&1=1

2、 参与运算的数以补码方式出现。 按位与常用于将某个运算的某些位清0或提取某些位的值。,10.1.2 按位或,参与运算的两个量,如果相对应的两位都是为0,则该位的结果位0,否则为1。即: 0|0=0, 1|0=1, 0|1=1, 1|1=1 参与运算的两个数均以补码出现。 按位或常用于将两个运算量的某些位置1。,10.1.3 按位异或,参与运算的两个量,如果相应的两位相异,则该位的结果为1,否则为0。即: 00=0, 01=1, 10=1, 11=0 按位异或有“与1异或”该位翻转、“与0异或”该位不变的规律。,10.1.4 按位取反,它将参于运算量的相应的值取反(1变0, 0变1)。,10.1

3、.5 按位左移,按位左移运算是将一个运算量的各位依次左移若干位。低位补0,高位舍弃不要。 左移一位相当于该数乘以2,但是,这是以该数左移之后不“溢出”为前提的。所谓“溢出”是指该数已超过机器字长所能容纳的范围。,10.1.6 按位右移,按位右移运算是将一个运算量的各位依次右移若干位。低位被移出,空出的高位对无符数来说补0,对带符号数来说要按最高符号自身填补(如果符号位为1,即负数,则左边补入的全为1;如果符号位为0,即正数,则左边补入的全为0)。 位运算符的运算规则见表10.1。,10.1.7 位运算的复合赋值运算符,C语言提供了五种位运算的复合赋值运算符,它们是&=(位与赋值)、| =(位或

4、赋值)、=(位异或赋值)、=(按位右移赋值)。 例如: a=b 相当于 a=ab a&=b 相当于 a=a&b a|=b 相当于 a=a|b a=b 相当于 a=ab a=b 相当于 a=ab,10.2 位域(位段),10.2.1 位域的定义和位域变量的说明 10.2.2 位域的使用,10.2.1 位域的定义和位域变量的说明,位域是一种特殊形式的结构体结构中的成员,以位为单位来定义结构体中成员的长度。其形式为: struct 位域结构名 位域列表; 其中位域列表的形式为: 类型说明符 位域名 : 位域长度 位域变量的说明与结构变量说明的方式相同。可采用先定义后说明,同时定义说明或者直接说明这三种方式。,对于位域的定义尚有以下几点说明: 一个位域必须存储在同一个字节中,不能跨两个字节。 由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是不能超过8位二进位。 位域可以无位域名,这时它只用来作填充或调整位置。,10.2.2 位域的使用,位域的使用和结构成员的使用相同,其一般形式为: 位域变量名位域名 位域允许用各种格式输出。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号