21xrx.com
2025-03-26 17:53:39 Wednesday
文章检索 我的文章 写文章
C++实现二进制转十进制操作
2023-06-24 07:12:16 深夜i     16     0
C++ 二进制 十进制 操作 实现

二进制和十进制是计算机中常见的两种数制,其中二进制以0和1表示,而十进制是以0到9表示的数制,而要将二进制转化为十进制,可以使用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 = 10110;
  cout << binaryToDecimal(binary) << endl;
  return 0;
}

在这个代码块中,binaryToDecimal是一个函数,它接受一个二进制数作为参数,返回该数的十进制表示。在函数中,我们使用while循环遍历二进制数,从最后一位开始,将每个数字乘以2的幂次方,该幂次方是从0开始的2的递增幂。

在每个迭代中,我们将binary除以10并且取余数lastDigit,然后将binary除以10。将lastDigit乘以base,然后将它加到decimal中。最后,我们将base乘以2,下一次迭代中将使用这个新值。

在完成while循环之后,我们返回decimal,这就是二进制数的十进制表示。

在主函数中,我们定义了一个名称为binary的整数,并将其赋值为10110。我们调用binaryToDecimal函数,并将结果打印到控制台中,输出结果为22。

因此,我们使用了C++的算法,实现了二进制转十进制的操作。这个算法可以让程序员处理多种进制的数,无需进行复杂的手动转换。

  
  

评论区