- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10-位运算 计算机程序设计(C语言)教学课件
中科大信息学院 中科大信息学院 中科大信息学院 中科大信息学院 中科大自动化系 中科大自动化系 中科大自动化系 中科大自动化系 * 中科大信息学院 * 第10章 位运算 位运算即二进制位(bit)的运算,一般是汇编实现的,但C语言提供这种运算。 10.2 位运算符 ~ 单目2级 按位取反 双目8级 按位与 ^ 双目9级 按位异或 | 双目10级 按位或 , 双目5级 按位左右移位 * 中科大信息学院 * 的用途 清零 取一个数中某些指定位。 例如,要取某个数a的低8位,计算a0377 1101,0001,0110,1010 a 0000,0000,1111,1111 0377 0110,1010 * 中科大信息学院 * | 的用途 将a的低8位置1,计算a|0377 1101,0001,0110,1010 a | 0000,0000,1111,1111 0377 1101,0001,1111,1111 * 中科大信息学院 * ^的用途 使特定位翻转 使a低4位翻转,计算a^017(习题3) 1101,0001,0110,1010 a ^ 0000,0000,0000,1111 017 1101,0001,0110,0101 与0相^,保留原值 012^00=012 交换两个变量值,不用临时变量(习题5) a=a^b; b=b^a; a=a^b; * 中科大信息学院 * ~的用途 例如,要使a的最右一位为0,可用 a=a0177776 上式a必须是16个比特,与机器有关。如果a是long,32比特存储,上式不能完成要求的功能。 a=a~1 与机器无关,具有通用性 * 中科大信息学院 * 运算符 双目运算符,如an,将a左移n个二进制位。移出的高位舍去,低位补0。 an 相当于a*2n a=2 0000,0000,0000,0010 a2 0000,0000,0000,1000 * 中科大信息学院 * 运算符 双目运算符,如a n,将a右移n个二进制位。移出的低位舍去,高位补0(补1)对于无符号数,高位补0。有符号数,有的系统补0,有的补1。 a n 相当于a÷2n a=8 0000,0000,0000,1000 a2 0000,0000,0000,0010 * 中科大信息学院 * 10.3 位段 位段也叫字位结构。 在应用程序中,有些变量用作标志,可能取值0或1,分配1比特即可。将这些用作标志的变量组合成字位结构,可节省内存空间。 定义位段变量 struct { unsigned a:2; unsigned b:3; unsigned c:4; }data; data.a=2; // data.a不大于3 data.c=15; // data.c不大于15 //给data.a赋值大于3,系统截去高位 * 中科大信息学院 * 关于位段说明 位段成员类型必须是unsigned 某一位段要从另一个字(一个int)开始 unsigned a:1; unsigned b:2; unsigned :0; unsigned c:3; 一个位段必须存储在同一存储单元 一个位段的长度不能大于一个存储单元的长度(一个int),也不能定义位段数组。 位段可以如同整型量操作。 a b c * 中科大信息学院 * 10.4 位运算举例 习题2.取a右数第4~7位。约定最右为低位从0开始。 unsigned a,b,c,d; scanf(%o,a); b=a4; //将4~7位移到最右端 c=~(~04); //作屏蔽尺,右端低4位全1 d=bc; printf(%o,%d\n%o,%d\n,a,a,d,d); unsigned a=0331; printf(“%o\n”,(a4)~(~04)); * 中科大信息学院 * 习题2.“ 取a的右数n位开始的m位 main() { unsigned a,n,m; scanf(“%o%d%d”,a,n,m); printf(“%o\n”,(an)~(~0m)); } * 中科大信息学院 * 习题4.将a右循环移n位,假设a为16比特 main() { unsigned a,b,c; int n; scanf(a=%o,n=%d,a,n); b=a(16-n); //b的高n位 = a的低n位 c=an; //c的低位 = a的高16-n位 c=c|b; printf(%o\n%o\n,a,c); } printf(%o,%o\n,a, an | a(16-n
您可能关注的文档
- 1.函数思想 数学思想教学课件与练习.ppt
- 1.嵌入式系统 嵌入式软件开发导论 PPT.ppt
- 1.战略思维与企业家精神 企业管理和市场营销专业博士专用.ppt
- 1.椭圆的参数方程 高中数学选修4-4课件.ppt
- 1.爆破安全技术绪论爆破安全技术 教学课件.ppt
- 1.生产运作管理概述 运营管理 教学课件.ppt
- 1.珠宝玉石鉴赏绪论 珠宝鉴赏(教学课件).ppt
- 1.纳税人备案课件 企业所得税税收优惠网上备案操作介绍.ppt
- 1.民诉法一——概述 教学课件.ppt
- 1.第一章_蔬菜栽培基础 蔬菜学 教学课件.ppt
- 10-密度 印刷色彩学PPT(第二版) 教学课件.ppt
- 10-Data [中文版] 斯坦福 iPhone开发课件 12-20.pdf
- 10-第十章 ILOG脚本 优化软件与应用 教学课件.ppt
- 10-第十章_ILOG脚本 优化软件与应用-cplex,opl,ampl,lingo课件.ppt
- 10. 诱导公式(二)高一数学教案及课件(新课标).ppt
- 10.19世纪30-60年代英 西方经济思想史 教学课件.ppt
- 10.1复式统计表 苏教版五年级数学 教学课件.ppt
- 10-舞台摄影 摄影艺术 教学课件.pdf
- 10. 零件图 化工制图课件.ppt
- 10.3 光捕获 激光原理及应用 [电子教案]电子课件.ppt
文档评论(0)