二进制小数转化成十进制C++
时间: 2023-12-28 09:05:25 浏览: 111
以下是将二进制小数转换为十进制的C++代码示例:
```c++
#include <iostream>
#include <cmath>
using namespace std;
double binaryToDecimal(string binary) {
int point = binary.find('.'); // 找到小数点位置
int intPart = 0, fracPart = 0;
for (int i = 0; i < point; i++) {
intPart += (binary[i] - '0') * pow(2, point - i - 1); // 计算整数部分
}
for (int i = point + 1; i < binary.size(); i++) {
fracPart += (binary[i] - '0') * pow(2, point - i); // 计算小数部分
}
return intPart + fracPart / pow(2, binary.size() - point - 1); // 返回十进制数
}
int main() {
string binary = "110.101";
double decimal = binaryToDecimal(binary);
cout << "Binary " << binary << " is equal to decimal " << decimal << endl;
return 0;
}
```
阅读全文