C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算

上传人:w****i 文档编号:92563955 上传时间:2019-07-11 格式:PPT 页数:15 大小:76KB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算_第1页
第1页 / 共15页
C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算_第2页
第2页 / 共15页
C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算_第3页
第3页 / 共15页
C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算_第4页
第4页 / 共15页
C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 刘嘉敏ch09 位运算(15页珍藏版)》请在金锄头文库上搜索。

1、第九章,位运算,9.1 位运算符 9.2 位运算的应用 9.3 位运算举例,第九章 位运算,1. 取反运算符,按位“取反”运算是单目运算。它对操作数的二进制位的每一位都取反,即将0变为1,1变为0。“取反”运算的运算符为“”。 例如:设a=10011101,求a a=10011101 a=01100010,9.1 位运算符,第九章 位运算,2. 左移运算符,左移运算符“”是双目运算符。基本形式是:an,a表示需要向左移动的数,n表示要移动的位数,其功能把“”左边的运算数a的各二进位全部左移n位,高位左移后溢出,舍弃不起作用,低位补0。 例如:a4指把a的各二进位向左移动4位。设a=100101

2、11(十进制数151),左移4位后为10111000(十进制数184)。,9.1 位运算符,第九章 位运算,3. 右移运算符,右移运算符“”是双目运算符。基本形式是:an,a表示需要向右移动的数,n表示要移动的位数,其功能把“”左边的运算数a的各二进位全部右移n位,低位右移后被舍弃,如果是无符号数,高位右移后补0。 例如:设a=15,a2表示把000001111(十进制数15)的所有位向右移动2位变为00000011(十进制数3)。,9.1 位运算符,第九章 位运算,4.按位与 运算符,所谓按位“与”运算,就是参与运算的两个数据按二进制位对齐,相应的二进制位进行“与”运算,运算符号为“&”,如

3、果对应的二进制位都是1,运算结果的对应二进制位为1,否则为0。即0&0=0;0&1=0;1&0=0;1&1=1。 例如:4&7的结果并不等于11,应该按位“与”进行计算。,9.1 位运算符,第九章 位运算,5. 按位或运算符,所谓按位“或”运算,就是参与运算的两个数据按二进制位对齐,相应的二进制位进行“或”运算,运算符号为“|”,如果对应的二进制位都是0,则运算结果的对应二进制位为0,否则为1。即0|0=0;0|1=1;1|0=1;1|1=1。,9.1 位运算符,第九章 位运算,6. 异或运算符,所谓按位“异或”运算,就是参与运算的两个数据按二进制位对齐,相应的二进制位进行“异或”运算,运算符

4、号为“”,如果对应的二进制位相同,则运算结果的对应二进制位为0,如果对应的二进制位不同,则运算结果的对应二进制位为1。即00=0;01=1;10=1;11=0。,9.1 位运算符,第九章 位运算,7. 位运算赋值运算符,位运算符与赋值运算符可以组成以下5种位运算赋值运算符: &=, |=, =, =2 相当于:a=a2 a=4 相当于:a=a4,9.1 位运算符,第九章 位运算,8. 不同长度的数据进行位运算,当两个不同长度的数据进行位运算的时候,在保持数值不变的条件下,右对齐进行位运算,其做法是: 对于无符号整型和字符型数据,在左侧补充0。 对于有符号整型和字符型数据,如果其为正,则在左侧补

5、充0;否则在左侧补充1。,9.1 位运算符,第九章 位运算,9.1 位运算符 9.2 位运算的应用 9.3 位运算举例,第九章 位运算,(1)用左移位运算来代替乘法 左移位运算an实际上相当于将被移动的数a乘以2n,其中n是要移动的位数。在实际运算中,左移位运算要比乘法快得多,所以有时候经常用左移位运算来代替乘法。 (2)用与位运算实现清零 如果要使得某个数清零(使其所有二进制位都为0),只需要找一个二进制数,使得被清零的数中为1的位,在这个数中相对应的位为0,然后让这两个数进行&运算,就可以达到清零的效果。 (3)用与位运算实现保留一个数中的某些指定位 (4)用与位运算验证数据二进制位的某一位或几位是否为1,9.2 位运算的应用,第九章 位运算,9.1 位运算符 9.2 位运算的应用 9.3 位运算举例,第九章 位运算,【例9-1】假设a是一个16位的二进制整数,要取a从右端开始的47位。可以采用下面的方法来实现。 1)先使a右移4位,使要取的47位移到最右端,如图9-1所示。其中图(a)是未右移时的情况,图(b)是右移4位后的情况。 2) 设置一个低4位全为1,其余位全为0的数。 3) 将1)中的a4和2)中的(04)进行“&”运算。,9.3 位运算举例,第九章 位运算,Thank You !,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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