21xrx.com
2024-12-23 01:37:28 Monday
登录
文章检索 我的文章 写文章
C++实现二进制转10进制
2023-06-24 20:04:25 深夜i     --     --
C++ 二进制 10进制 转换 实现

二进制是一种只有0和1两个数字的进制,而10进制是以0到9共10个数字为基础的进制。在计算机领域,二进制被广泛应用于数据存储和传输中,而10进制则是人们常用的计数方式。因此,在数据转换和处理中,我们需要将二进制转换为10进制。本篇文章将介绍如何使用C++实现二进制转10进制。

一、二进制转换为10进制的方法

将一个二进制数转换为10进制数的方法是,先将二进制数从右往左依次对位赋予权值,然后将每位上等到的数相加得到10进制数。例如,二进制数1101,从右到左依次赋予权值为2^0=1,2^1=2,2^2=4,2^3=8。则1101对应的10进制数为1×2^0+0×2^1+1×2^2+1×2^3=13。

二、C++实现二进制转换为10进制

实现二进制转换为10进制的C++代码如下:


#include<iostream>

#include<string>

#include<cmath>

using namespace std;

int main()

{

  string binary;

  int decimal = 0, i=0;

  cout<<"请输入一个二进制数:"<<endl;

  cin>>binary;

  for(i=binary.size()-1; i>=0; i--)

  {

    decimal = decimal + (binary[i] - '0') * pow(2, binary.size()-1-i);

  }

  cout<<"对应的10进制数为:"<<decimal<<endl;

  return 0;

}

代码解释:

1.定义一个字符串变量binary和一个整型变量decimal,其中binary用于存储输入的二进制数,decimal用于存储转换后的10进制数。

2.使用cout语句提示用户输入一个二进制数,并使用cin语句将其存储在binary变量中。

3.使用for循环对二进制数的每一位进行权值赋予和转换。从二进制数的最高位开始,每遍历到一位就根据该位上的数字为其赋予权值,并将其加到decimal变量中。循环处理完最低位后,decimal存储的即为转换后的10进制数。

4.最后使用cout语句输出转换后的10进制数。

三、实例演示

假设输入的二进制数为1101,则程序输出的结果为:

请输入一个二进制数:

1101

对应的10进制数为:13

由此可知,使用C++实现二进制转10进制是相对简单的。通过代码的实践演示,也能更好地理解二进制到10进制的转换方法,加深对数据处理的体验。

  
  

评论区

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