二进制转换:输入两个正整数,然后转换成二进制来源: 发布时间:星期四, 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
相关文章读者评论发表评论 |