21xrx.com
2024-09-19 09:59:22 Thursday
登录
文章检索 我的文章 写文章
C++代码:二进制转十进制
2023-07-13 11:41:02 深夜i     --     --
C++ 二进制 十进制 代码 转换

二进制和十进制都是我们平时接触比较多的数字表示方法,其中二进制是由0和1组成的数字系统,而十进制是由0-9共十个数字组成的数字系统。在程序设计中,常常需要进行这两者之间的转换。本文将介绍如何使用C++代码将二进制转化为十进制。

首先,我们需要清楚二进制和十进制的数值表示方法。在二进制中,每一位只能是0或1,其中第一位表示数字的符号,0为正数,1为负数,后面的位数表示数字的大小。在十进制中,每一位数字的值是它所在的位数乘以10的次幂,例如:1在个位上的数值为1*10^0=1,3在十位上的数值为3*10^1=30。

有了这些知识基础,我们就可以使用C++代码将二进制转换为十进制。以下是具体实现:


#include <iostream>

#include <cmath>

using namespace std;

int main()

{

  long long bin, dec = 0, rem, i = 0;

  cout << "Enter the binary number: ";

  cin >> bin;

  while (bin != 0)

  {

    rem = bin % 10;

    bin /= 10;

    dec += rem * pow(2, i);

    ++i;

  }

  cout << "The decimal number is: " << dec << endl;

  return 0;

}

在这段代码中,我们首先声明了一个long long类型的变量bin,其用于存储输入的二进制数值,同时也声明了一个long long类型的变量dec,用于存储将二进制转换为十进制后的数值。我们还声明了一个变量rem,用于存储二进制数值的每一位,它初始值设置为0。另外,我们还声明了一个i变量作为循环计数器,它也被初始值设置为0。

接下来,我们通过cout语句提示用户输入二进制数值,并使用cin语句将其存储到变量bin中。接着,我们使用while循环来遍历二进制数值的每一位:在每一次循环中,我们使用取模运算符%来计算二进制数值的最后一位,然后使用除法运算符/将这一位删除。然后,我们使用pow函数计算2的i次幂,其中i为当前循环计数器的值,通过这样的方式我们就可以计算出当前位的数值(0或1)。我们将这个数值乘以2的i次幂,然后加上之前计算过的数值,最后将i值增加1作为下一次循环的计数器值。

当二进制数值的所有位都被遍历完毕后,我们通过cout语句输出十进制的结果,并使用return 0语句结束程序的执行。

总之,使用C++代码将二进制转化为十进制是一项很有用的技能,对于希望成为一名优秀的程序员来说是非常重要的。本文介绍了一种比较通用可靠的转换方法,希望能对读者有所帮助。

  
  

评论区

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