收藏 分享(赏)

位运算符和位运算.ppt

上传人:sjmd695 文档编号:6842449 上传时间:2019-04-23 格式:PPT 页数:15 大小:117KB
下载 相关 举报
位运算符和位运算.ppt_第1页
第1页 / 共15页
位运算符和位运算.ppt_第2页
第2页 / 共15页
位运算符和位运算.ppt_第3页
第3页 / 共15页
位运算符和位运算.ppt_第4页
第4页 / 共15页
位运算符和位运算.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、1,第12章 位运算,2,1 位运算符和位运算2 位运算举例3 位段,位运算,3,位运算符和位运算,4,位运算位运算符和位运算,所谓位运算是指进行二进制位的运算。C语言提供下列位运算符:位运算符中除 外,均为二目(元)运算符。 运算量只能是整型或字符型的数据,不能为实型数据。,5,位运算位运算符和位运算,“按位与“运算符( 1=0 的优先级高于算术、关系、逻辑及其他位运算符。,6,位运算位运算符和位运算,“左移“运算符(): 用来将一个数的各二进位全部右移若干位。 右移1位相当于该数除以2,右移n位相当于该数除以2n。 移到右端的低位被舍弃;对无符号数,高位补0;对于有符号数,如果原来符号位为

2、0,则左边也是移入0,如果符号位原来为1,则左边移入0(“逻辑右移“)还是移入1(“算术右移“),要取决于所用的计算机系统。 Turbo C采用的是算术位移。,7,位运算位运算符和位运算,位运算赋值运算符: 位运算与赋值运算符可以组成复合赋值运算符。若b为无符号整数型,则左侧16位补满0。,8,位运算举例,9,位运算位运算举例,例:取一个整数a 从右端开始的47位。,先使a 右移4位:a4 设置一个低4位全为1,其余全为0的数:(04)& (04),#include “stdio.h“ main( ) unsigned a, b, c, d;scanf(“%o“, ,可以任意指定从右边第m位开

3、始取其右面n位,只需改为: b = a( m-n+1) ; c = (0n);,10,位运算位运算举例,例:循环移位。将整数a 进行右循环移位。,将a 的右端n 位先放到b 中的高n 位中:b=an 将上面二者c与b进行按位或运算即:c=c|b,#include “stdio.h“ main( ) unsigned a, b, c;int n;scanf(“a=%o,“, ,b = a( 16-n) ; /左循环 c = an; / 移位,11,位段,12,位运算位段,在计算机用于过程控制、参数检测或数据通信领域时,控制信息往往只占一个字节中的一个或几个二进位,常常在一个字节中放几个信息。 C

4、语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段“或称“位域“(bit field)。 利用位段能够用较少的位数存储数据。,struct packed_data unsigned a : 2;unsigned b : 6;unsigned c : 4;unsigned d : 4;int i; data;,struct packed_data unsigned a : 2;unsigned b : 6;unsigned c : 4;int i; data; /*各个位段不恰好占满一个字节*/,13,位运算位段,关于位段的定义的说明位段成员的类型必须指定为

5、unsigned或int 类型。 若某一位段要从另一个字开始存放,可用以下形式定义:unsigned a : 1;unsigned b : 2;unsigned : 0;unsigned c : 3; 一个位段必须存储在同一存储单元中,不能跨两个单元。如果第一个单元空间不能容纳下一个位段,则该空间不用,而从下一个单元起存放该位段。,(另一存储单元),作用是使下一个位段从下一个存储单元开始存放,14,位运算位段,关于位段的定义的说明可以定义无名位段,如:unsigned a : 1;unsigned : 2;unsigned b : 3;unsigned c : 4; 位段的长度不能大于存储单元的长度,也不能定义位段数组。,无名位段,这两位空间不用,15,位运算位段,关于位段的引用的说明对位段中的数据引用时,要注意位段允许的最大值范围。data.a = 2; data.b = 7; data.c = 9;位段可以用整型格式符输出,也可以用%u、%o、%x等格式符输出。如:printf(“%d, %u, “, data. a, data.b);printf(“%o,%x“, data.c, data.d);位段可以在数值表达式中引用,它会被系统自动地转换成整型数。 如:data.a + 5/data.b,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初级教育 > 小学教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报