21xrx.com
2024-12-22 23:36:07 Sunday
登录
文章检索 我的文章 写文章
C++如何将二进制转换为十进制
2023-06-29 08:04:56 深夜i     --     --
C++ 二进制 十进制 转换

C++ 是一种广泛使用的编程语言,可以用于开发各种类型的应用程序。其中一项非常重要的任务是数字转换。在某些情况下,需要将二进制转换为十进制,这可以通过使用 C++ 编程语言中提供的算法和函数来完成。下面是一个简单的使用 C++ 将二进制转换为十进制的指南。

1. 先了解二进制和十进制的基础知识:二进制数系统中只包含两个数字 0 和 1,而十进制数系统则包含十个数字 0 到 9。二进制数每个位代表的值是 2 的幂次方,例如,二进制数 1010 表示(1 × 2的三次方) + (0 × 2的二次方) + (1 × 2的一次方) + (0 × 2的零次方) = 10。而每个位置的权重不同,而与其是10进制,权重为10异曲同工。这两种数制的转换是计算机科学非常基础的课题。

2. 使用 C++ 中的 std::stoi() 函数将二进制转换为十进制。该函数可将字符串转换为具有给定基数的整数。例如:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string binary_string = "1010";

  int decimal = stoi(binary_string, nullptr, 2);

  cout << decimal << endl;

  return 0;

}

在上面的示例中,我们首先从输入流中读取一个二进制字符串,并使用 stoi() 函数将其转换为十进制数。第一个参数是要转换的字符串,第二个参数为 nullptr 表示不需要位置信息,第三个参数 2 表示使用二进制。

3. 编写自己的转换函数。使用 C++ 编写二进制转十进制的函数,可以在程序中随时使用该函数,并在需要将二进制转换为十进制的代码中调用该函数。例如:


#include <iostream>

#include <cmath>

using namespace std;

int binaryToDecimal(int binary)

{

  int decimal = 0, base = 1;

  while (binary > 0)

  {

    int lastDigit = binary % 10;

    binary = binary / 10;

    decimal += lastDigit * base;

    base *= 2;

  }

  return decimal;

}

int main()

{

  int binary = 1010;

  int decimal = binaryToDecimal(binary);

  cout << decimal << endl;

  return 0;

}

上面的代码中,我们定义了一个名为 binaryToDecimal() 的函数,在 while 循环中逐步转换二进制数每一位,并将其加到十进制数中。

以上是使用 C++ 将二进制转换为十进制的基本方法。尽管只是列举了两种较为常见的方法,但是这两种方法基本涵盖了我们在程序中进行数制转换的需求。在需要进行数制转换时,可以使用上述方法之一来完成。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复