21xrx.com
2025-04-28 00:02:11 Monday
文章检索 我的文章 写文章
C++实现二进制转10进制
2023-06-28 11:51:53 深夜i     19     0
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进制的转换方法,加深对数据处理的体验。

  
  

评论区

请求出错了