问题:1290 - 二进制转换十进制
类型:进制转换
题目描述:
请将一个 25 位以内的 2 进制正整数转换为 10 进制!
输入:
一个 25 位以内的二进制正整数。
输出:
该数对应的十进制。
样例:
输入:
111111111111111111111111
输出:
16777215
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
//一、分析问题
//已知:一个 25 位以内的 2 进制正整数;
//未知:转换为 10 进制;
//关系:二进制转十进制
//二、定义变量(已知、未知、关系)
string s;
int res=0;
//三、输入已知
cin>>s;
//四、根据关系计算
int t=1;
for(int i=s.size()-1;i>=0;i--){
res+=(s[i]-'0')*t;
t*=2;
}
//五、输出未知
cout<<res;
return 0;
}