2803: 练44.2 二进制转化为十进制

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:7 解决:6

题目描述

把一个二进制数转化为十进制数。

输入

第一行一个正整数$n$($1≤n≤30$),表示二进制数的长度。
第二行一个二进制数。

输出

输出一个整数,表示对应的十进制数

样例输入 复制

5
10101

样例输出 复制

21

提示

#include<bits/stdc++.h>
using namespace std;
int n,ans;
char c;
int main(){
    cin>>n;
    while(n--) {
    	cin>>c;
		ans+=int(pow(2,n))*(c-'0'); 
	}
	cout<<ans;
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int n,x;
string s;
int main(){
    cin>>n>>s;
    bitset<32> b(s);
    x=b.to_ulong();
    cout<<x;
    return 0;
}