描述
请编程实现二进制数到十进制数的转换。
输入描述
一个二进制数。位数不超过25位,保证转换成的十进制数在int类型的范围内。
输出描述
二进制数对应的十进制数。
样例输入 1
1001
样例输出 1
9
用整形做90分代码://因为longlong最大只能存不到20位,,题目最大可达26位,所以太大存不下,还是有一个测试点错了。
#include <iostream>
typedef long long Int;//原来我写了一个pow函数用来写幂,但是返回long long还是一样的问题,要26位不够
int main() {
Int n;std::cin>>n;
Int ans=0,mi=1;
for(;n;n/=10,mi*=2){
Int x=n%10;
if(x)ans+=mi;
}
std::cout<<ans<<std::endl;
}