分析:将二进制转化为十进制,就是将二进制数的每一位乘以该位的权然后求和
例如:
(00001110)2=0×(27)+0×(26)+0×(25)+0×(24)+1×(23)+ 1×(22)+ 1×(21)+ 0×(20)
所以输入00001110.则应输出14.
源程序:
#include<iostream>
using namespace std;
double power(double x,int n)
{
double val=1.0;
while(n--)
val*=x;
return val;
}
int main()
{
int value=0;
cout<<"Enter an 8 bit binary number:";
for(int i=7;i>=0;i--)
{
char ch;
cin>>ch;
if(ch=='1')
value+=static_cast<int>(power(2,i));
}
cout<<"Decimal value is "<<value<<endl;
return 0;
}