专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »C 教程 » 二进制转换:输入两个正整数,然后转换成二进制 »正文

二进制转换:输入两个正整数,然后转换成二进制

来源: 发布时间:星期四, 2008年9月25日 浏览:505次 评论:0
输入两个正整数,然后转换成二进制。。
并且相加~比如25+26的二进制就是00110011(显示出来),然后在转换成10进制,就是51拉~

不说啥了~开始连我也看不懂自己写的程序了~。。。。



main()
{inta[100],b[100],c[100],k,n,i,j,z,d=0,t=1;
printf("shurulianggezhengshu:");
printf("a=");
scanf("%d",&k);
printf("b=");
scanf("%d",&n);
for(i=0;i<8;i++)/*把k和n转换成二进制,比如25为00011001,26为00011010,在把他们分别
{j=k%2;z=n%2;放在a[]和b[]的数组内,我是不是很聪明呀?:)*/
a[i]=j;b[i]=z;
k=k/2;n=n/2;
}
for(i=0;i<8;i++)/*本程序最精华的部分,通常把K和N的二进制相加,非常感谢亡灵天灾的一位朋
{c[i]=a[i]+b[i]+c[i];友的帮助*/
if(c[i]==2){c[i]=0;a[i+1]++;}
if(c[i]==3){c[i]=1;a[i+1]++;}
}
for(i=7;i>=0;i--)/*很明显,这个是要把二进制换成十进制的*/
printf("%d",c[i]);
printf("\\n");
for(i=0;i<=7;i++)
{d=d+c[i]*t;
t*=2;
}
printf("%d",d);
getch();
}
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: