C++中二进制转化为十进制

来源:百度知道 编辑:UC知道 时间:2024/06/23 15:10:16
初学者啊,还没学数组
帮帮忙吧。。。。。

对于初学者,是无法编写这个程序的,必须要使用数组和一些库函数。
下面是我写的代码,可以支持小数的输入。仅供参考:
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
int main()
{
int i,k,m,n;
double sum1,sum2;
sum1=sum2=0;
char a[50];
cout<<"请输入二进制数:"<<endl;
cin>>a;
k=strlen(a);
for(i=0;i<k;i++)
if(a[i]=='.')
break;
m=i;
n=k-i-1;
for(i=m-1;i>=0;i--)
sum1+=(a[i]-'0')*pow(2,m-1-i);
for(i=0;i<n;i++)
sum2+=(a[m+1+i]-'0')*pow(2,-(i+1));
cout<<"转化为十进制数为:"<<endl<<sum1+sum2<<endl;
return 0;
}
有不清楚的再联系我。

#include<iostream>
#include<cmath>
using namespace std;
void main()
{
int num;
cout<<"input the binary number:"<<endl;
cin>>num;
int sum=0;
int i=0;
while