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