例如:键盘输入1101,程序应该输出13。
根据公式,设置功能函数。
double power (double x, int n){
double val = 1.0;
while(n--)
val *= x;
return val;
}
power 乘方(幂) val 是value 值的缩写(强调变量的不可变性)
该功能函数求 。
设置:输入一个八位的二进制数,输出该输的十进制。
#include <iostream>
using namespace std;
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 valur is " << value << endl;
return 0;
}
double power(double x, int n) {
double val = 1.0;
while (n--)
val *= x;
return val;
}
static_cast<int>(power(2,i));这是一个强制类型转换。将函数的返回值强制转换为int 形。
当然,也可以这样写:
下面看一下两次的运行结果: