C语言程序设计实例教程课件11

PPT
  • 阅读 51 次
  • 下载 0 次
  • 页数 13 页
  • 大小 282.000 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档10.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
C语言程序设计实例教程课件11
可在后台配置第一页与第二页中间广告代码
C语言程序设计实例教程课件11
可在后台配置第二页与第三页中间广告代码
C语言程序设计实例教程课件11
可在后台配置第三页与第四页中间广告代码
C语言程序设计实例教程课件11
C语言程序设计实例教程课件11
还剩5页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 13
  • 收藏
  • 违规举报
  • © 版权认领
下载文档10.00 元 加入VIP免费下载
文本内容

【文档说明】C语言程序设计实例教程课件11.ppt,共(13)页,282.000 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44538.html

以下为本文档部分文字说明:

第11章位运算11.1位运算符11.2位运算符的运算功能位运算是指进行二进制位的运算。11.1位运算符计算机中的位运算是针对二进制代码进行的。每一个二进制位的取值只有0或1。位运算符的操作对象是一个二进制位的集合,如一个字节(8bit)。位运

算符共有6种,即~、<<、>>、&、^和|,分别表示按位取反、左移位、右移位、按位与、按位异或、按位或,见表11-1。表11-1位运算符运算符名称使用格式~按位取反~表达式<<左移位表达式1<<表达式2>>右移位表达式1

>>表达式2&按位与表达式1&表达式2^按位异或表达式1^表达式2|按位或表达式1|表达式2按位操作的情况,见表11-2,其中a和b分别表示一个二进制位。表11-2按位逻辑运算ab~aa&ba^ba|b00100001101110001111010111.1.1按位取反按位取反

运算符就是将其操作对象中的所有二进制位全部改变状态,即“逢0变1,逢1变0”。11.1.2移位移位运算符有左移运算符和右移运算符。1.左移运算符左移运算符是将其操作对象向左移动指定的位数,每左移1位相当于

乘以2,移n位相当于乘以2的n次方。一个二进制位在左移时右边补0,移几位右边补几个0。左移运算符的一般书写格式为:表达式1<<表达式22.右移运算符右移运算符是将其操作对象向右移动指定的位数,每右移1位相当于除以2,移n位相当于除以2的n次方。在进行右移时,右边移出的二进制位被舍弃。右移运算符的一

般书写格式为:表达式1>>表达式211.1.3按位“与”按位“与”的一般书写格式为:表达式1&表达式2按位“与”的运算原则为:当两个操作对象的相应二进制位都为1时,则该位的结果为1,否则为0,即“两1为1,其余为0”。11

.1.4按位“或”按位“或”的一般书写格式为:表达式1|表达式2按位“或”的运算原则为:当两个操作对象的相应二进制位都为0时,则该位的结果为0,否则为1,即“两0为0,其余为1”。11.1.5按位“异或”按位“

异或”的一般书写格式为:表达式1^表达式2按位“或”的运算原则为:当两个操作对象的相应位相同时,则该对应位的结果为0,否则为1,即“相同为0,不同为1”。按位“异或”也可以称不进位加,即两个操作对象执行二进制相加,但

不向高位进位。11.2位运算符的运算功能【例11-9】将整型数据n的后5位数据置为0,其余各位不变。程序如下:#include<stdio.h>main(){intn;printf("inputn:");scanf("%d",&n);n&=~037;printf("%d\n",n);}【例1

1-10】实现向左循环移位。程序如下:#include<stdio.h>main(){unsigneda,b,c;intn;printf("inputa:");scanf("%o",&a);printf("inputn:");scanf("%d",&n);b=a>>(16-n);c=a<<

n;a=b|c;printf("%o\n",a);}第11章位运算【例11-11】将一个整型数据的各位倒序输出。程序如下:#include<stdio.h>main(){unsigneda,b;inti;printf("inpu

ta:");scanf("%o",&a);b=0;for(i=0;i<16;i++){b=b<<1;b=(a&(1<<i))>>i|b;}printf("%o\n",b);}第11章位运算【例11-12】取一个单元a的某几位到另一个单

元b。程序如下:#include<stdio.h>voidyiwei(pa,pb,st1,st2,n1)unsigned*pa,*pb;intst1,st2,n1;{unsignedc,d;intmove;move=st1-st2;c=~(~0<

<n1)<<(17-st1-n1);d=~(~(~0<<n1)<<(17-st2-n1));if(move>0)*pb=(c&*pa)<<move|(*pb&d);else*pb=c&*pa>>(-move)|(

*pb&d);}第11章位运算main(){inta1,b1,n;unsigneda,b;printf("inputa:\n");scanf("%o",&a);printf("inputb:\n");scanf

("%o",&b);printf("inputthestartnuma1:\n");scanf("%d",&a1);printf("inputthestartnumb1:\n");scanf("%d",&b1);printf("inputnumberofthebits:\n");scanf(

"%d",&n);yiwei(&a,&b,a1,b1,n);printf("%o\n%o\n",a,b);}第11章位运算返回章目录

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?