#include <iostream.h>
int sum(int n)
{
int i,s=1;
if(n==0)
s=1;
for(i=1;i<=n;i++)
s=s*2;
return s;
}
void main()
{
int a[8],i,sum,s=0;
cout<<"please input a binary: "<<endl;
for(i=7;i>=0;i--)
{cin>>a[i];
if(a[i]==1)
{
sum=sum(i);
s=s+sum;
}
}
cout<<" the decimal is:"<<s<<endl;
}
我是想通过这个程序实现一个8位二进制数转化为十进制输出,期中要调用函数,功能是求2的n次幂方,哪里错误了??