c++计算二进制转十进制的方法

发布时间 2023-04-12 00:41:35作者: new菜鸟

一、问题描述:

   二进制数转十进制数。

二、设计思路:

   1、输入一个只含有0和1组成二进制的数,并存入一个数组中。

   2、进行计算所写的二进制数的长度,并存入另一个数组中。

   3、从存入数组中的二进制数的左边第一个数依次进行判断,看是不是为“1”,如果为“1”,则进行计算。算出所在位数的二进制“1”所代表的十进制数,在判断为“1”时的二进制数值转变的十进制数值后,依次进行加和,存入第三个数组中;如果为“0”,则跳过进行下一次判断。直到循环判断到第二个数组的数值。

   4、输出二进制所代表的十进制数值。

 三、程序流程图

 

 

 

四、代码实现

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
string s;
cin>>s;
int len=s.length();
int n=0;
for(int i=0;i<len;++i)
{
if(s[i]=='1')  //其中注意if的判断两个条件相等的符号
n+=pow(2,len-1-i);
}
cout<<n;

return 0;
}