二进制转十进制
n
为输入的二进制数,d用来处理该数。
k为标志位,当k为1时表示输入的数有问题,需要重新输入。
i为每次分解的个位数;j为二进制的权值;m为累计的十进制和;p为输入的数的位数,超过10时,该数越界,需要重新输入,定k=1。
程序如下:
#include
<conioh>
main()
{
long
int
n,d;
int
k,i,j,m,p;
do
{
k=0;
m=0;j=1;i=0;p=0;
printf("\ninput
an
number
only
includes
0
or
1:");
scanf("%ld",&n);
if(n<0)
k=1;
d=n;
while(d)
{
i=d%10;p++;
if(i>1
||
p>10)
{k=1;break;}
m+=ij;
j=j2;
d/=10;
}
}
while(k==1
||
m==0);
printf("\n
the
number
is
%d\n",m);
getch();
}
#include"stdioh"
void
main()
{
int
bin[8];
int
dec;
printf("请输入8位二进制码,用逗号隔开,不够8为的在前面补0\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d",&bin[0],&bin[1],&bin[2],&bin[3],&bin[4],&bin[5],&bin[6],&bin[7]);
dec=a[0]binx(7)+a[1]binx(6)+a[2]binx(5)+a[3]binx(4)+a[4]binx(3)+a[5]binx(2)+a[6]binx(1)+a[7]binx(0);
printf("%d%d%d%d%d%d%d%d的十进制为:%d\n",bin[0],bin[1],bin[2],bin[3],bin[4],bin[5],bin[6],bin[7],dec);
}
int
binx(int
x)
{
int
ss=1;
for(int
i=0;i<x;i++)
ss=ss2;
return
ss;
}
以上就是关于如何用c语言编写二进制和十进制之间的转换全部的内容,包括:如何用c语言编写二进制和十进制之间的转换、c++编程序将2进制数转为10进制数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)