用c语言编写 输入一个二进制数,输出一个十进制数

2024-12-03 11:32:51
推荐回答(4个)
回答1:

lude "stdlib.h"
main()
{
int n,x=0,a[100];
printf("请输入转换的数和进制:\n");
scanf("%d",&n);
while(n){
a[x++]=n%2;
n/=2;
}
--x;
while(x>=0) printf("%d",a[x--]);
printf("\n");
system("pause");
}
再送你一个进制转换的

问题:把十进制数转换为其它进制
#include "stdio.h"
#include "stdlib.h"
main()
{
int n,k;
char *str="0123456789ABCDEF";
printf("请输入转换的数和进制:\n");
scanf("%d%d",&n,&k);
int px=0,a[128];
while(n){
a[px++]=n%k;
n/=k;
}
--px;
while(px>=0) printf("%c",str[a[px--]]);
printf("\n");
system("pause");
}

回答2:

#include
void main()
{ int i,chan=0;
char orig[100];
printf("input the numbers:");
gets(orig);
for(i=0;orig[i]!='\0';i++)
chan=chan*2+(orig[i]-48);/*字符转换成十进制数*/
printf("%d\n",chan) ;
}

回答3:

路过 他回答的很好了 不用补充了 很好

回答4:

#include"stdio.h"
int fun(int i, int n)
{
int m=1;
for(int j=0;j m*=n;
return m;
}
void main()
{
long a;
int i=0,b=0;
scanf("%d",&a);
while(a>0)
{
b+=a%10 * fun(i,2);
i++;
a=a/10;
}
printf("%d",b);
}