小标
2018-09-19
来源 :
阅读 4905
评论 0
摘要:本文主要向大家介绍了C/C++知识点之【C语言】输入一个整数,求它的原码,反码,补码值,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了C/C++知识点之【C语言】输入一个整数,求它的原码,反码,补码值,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
1 #include
2 #include
3 int main()
4 {
5 int m,n,a[10],i=0,y[100],f[100],b[100],j,k;
6 printf("请输入一个整数:");
7 scanf("%d",&n);
8 m=abs(n);
9 while (m!=0)
10 {
11 a[i]=m%2;
12 m=m/2;
13 i=i+1;
14 }
15 if (n>=0)
16 {
17 for(j=0;j<i;j++) y[j]=a[j];
18 if ((j+1)%8!=0) for(;(j+1)%8!=0;j++) y[j]=0;
19 y[j]=0;
20 for(k=0;k<=j;k++)
21 {
22 f[k]=y[k];
23 b[k]=y[k];
24 }
25 }
26 else
27 {
28 int w=0;
29 for(j=0;j<i;j++) y[j]=a[j];
30 if ((j+1)%8!=0) for(;(j+1)%8!=0;j++) y[j]=0;y[j]=1;
31 for(k=0;k<j;k++) if(y[k]) f[k]=0;else f[k]=1;f[k]=1;
32 for( k=0;k<j;k++) {if (k==0)b[k]=f[k]+1;else b[k]=f[k]+w;if (b[k]==2){b[k]=0;w=1;}else w=0;}b[k]=1;
33 }
34 printf("原码:");for(k=j;k>=0;k--)printf("%d",y[k]);printf("\n");
35 printf("反码:");for(k=j;k>=0;k--)printf("%d",f[k]);printf("\n");
36 printf("补码:");for(k=j;k>=0;k--)printf("%d",b[k]);printf("\n");
37 }
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
喜欢 | 3
不喜欢 | 2
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号