温馨提示×

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

c++
小亿
402
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