ImageVerifierCode 换一换
格式:PPT , 页数:15 ,大小:117KB ,
资源ID:6842449      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6842449.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(位运算符和位运算.ppt)为本站会员(sjmd695)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

位运算符和位运算.ppt

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营业执照举报