c++二进制转十进制怎么实现
要将一个二进制数转换为十进制数,可以通过以下步骤实现:
- 将给定的二进制数从右向左按位拆分,分别取出每一位的数值。
- 对于每一位的数值,将其乘以 2 的 n 次方,其中 n 表示该位在二进制数中的位置(从右向左,位置从 0 开始)。
- 将所有乘积相加,得到最终的十进制数值。
以下是一个示例的 C++ 代码实现:
#include <iostream>
#include <string>
#include <cmath>
int binaryToDecimal(std::string binary) {
int decimal = 0;
for (int i = binary.length() - 1; i >= 0; i--) {
int bit = binary[i] - '0';
decimal += bit * pow(2, binary.length() - 1 - i);
}
return decimal;
}
int main() {
std::string binary = "1101";
int decimal = binaryToDecimal(binary);
std::cout << "Binary number " << binary << " is equivalent to decimal number " << decimal << std::endl;
return 0;
}
在上面的代码中,我们定义了一个函数 binaryToDecimal
,该函数接受一个表示二进制数的字符串作为输入,并返回对应的十进制数值。在 main
函数中,我们调用 binaryToDecimal
函数并输出结果。你可以将输入的二进制数替换为其他值进行测试。