现在,大家看看题目: 输入一个八位二进制 将其转化为十进制数 先看看大致的规律: 大家试验下:0000 1101的结果是不是13 大家看看源代码: #include<iostream> using namespace std; double power(double x,int n); int main(){ char ch;//每次读取的字符 int value=0;//接收每次相邻两个二进制位相加的结果 cout<<"输入八位二进制数:"<<endl; for(int i=7;i>=0;i--){ cin>>ch; while(ch='1'){ value+=(int)(ch*power(2,i)); } } cout<<"十进制:"<<value<<endl; } double power(double x,int n){ double value=1.0; while(n--){ value*=x; } return value; } 暂时找不出源代码有problem! |
|