holyya.com
2025-09-04 23:14:45 Thursday
登录
文章检索 我的文章 写文章
C++编写二进制转十进制函数
2023-07-01 02:35:48 深夜i     --     --
C++ 二进制 十进制 函数 编写

二进制(Binary)是一种数值系统,它只使用0和1这两个数字表示数值。而十进制(Decimal)是我们常用的数值系统,它使用0到9这十个数字表示数值。在编程领域中,我们有时需要将二进制转换为十进制来进行计算和处理。而C++是一种广泛使用的编程语言,它可以编写二进制转十进制函数来方便我们进行二进制数值的转换。

二进制转十进制的原理很简单,它是将二进制数值的每一位分别乘以2的n次方,n为该位所在的位置数(从右往左数,从0开始)。然后将这些结果相加即可得到十进制数值。

C++编写二进制转十进制函数的第一步是确定输入和输出的数据类型,因为输入是二进制字符串,我们可以使用C++中的string类型。而输出是十进制整数,我们可以使用C++中的int类型。

接下来,我们需要编写一个函数来实现二进制转十进制的计算逻辑。以下是一个简单的二进制转十进制函数的实现代码:


int bin2dec(string bin) {

  int dec = 0; // 存放十进制结果

  int len = bin.length(); // 获取二进制字符串长度

  for (int i = 0; i < len; i++) {

    int bit = bin[i] - '0'; // 获取该位的数值

    dec += bit * pow(2, len - i - 1); // 计算该位的十进制值并累加

  }

  return dec;

}

在函数中,我们先定义一个int类型的变量dec用于存放最终的十进制结果,然后获取输入的二进制字符串的长度len。接着,我们使用for循环遍历每一位二进制数值,获取该位二进制数值的数位bit,然后使用pow函数计算该位的十进制数值,并将其累加到dec中。最后,函数返回计算得到的十进制结果dec。

我们可以调用这个函数来进行二进制转十进制的操作,例如:


string bin = "101010";

int dec = bin2dec(bin);

cout << dec << endl; // 输出: 42

以上示例代码将二进制数值"101010"转换为十进制数值42,并输出结果。通过这个例子,我们可以看到使用C++编写二进制转十进制函数是非常简单和方便的。

  
  

评论区

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