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

一、问题描述:

   二进制数转十进制数。

二、设计思路:

   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;
}

posted @   new菜鸟  阅读(1243)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示