C++二进制转十进制程序,要用倍和法。急,在线等。一定得用倍和法啊

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:24:09

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#define N 20
void main()
{
char str[N];
int n,i,k,x=0;
printf("输入二进制数:");
gets(str);
n=strlen(str);
for(i=0;i<n;i++)
{
k=str[i]-'0';
if(k==1) x+=pow(2.0,n-i-1);
else if(k==0) continue;
else
{
printf("原数据不是二进制数!\n");
exit(0);
}
}
printf("(%s)B=(%d)H\n",str,x);
}