//3_2.cpp
#include <iostream>
using namespace std;
//计算x的n次方
double power(double x, int n);
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;
}
double power (double x, int n) {
double val = 1.0;
while (n--)
val *= x;
return val;
}
因为是从0到7,这样就是8个数,从1到8也是可以的
value += static_cast<int>(power(2, i))
这句话的作用就是从2进制转化乘十进制的规矩嘛,要+2的n次方,前面就是强制转换成int类型,不然pow的返回值是浮点数