c++

c++二进制转十进制怎么实现

小亿
338
2024-05-25 16:19:13
栏目: 编程语言

要将一个二进制数转换为十进制数,可以通过以下步骤实现:

  1. 将给定的二进制数从右向左按位拆分,分别取出每一位的数值。
  2. 对于每一位的数值,将其乘以 2 的 n 次方,其中 n 表示该位在二进制数中的位置(从右向左,位置从 0 开始)。
  3. 将所有乘积相加,得到最终的十进制数值。

以下是一个示例的 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 函数并输出结果。你可以将输入的二进制数替换为其他值进行测试。

0
看了该问题的人还看了