题目描述
将一个二进制数,转换为对应的十进制数。
输入
输入第一行为一个数n,表示二进制数的位数。
第二行有高位到低位依次输入二进制数的每一位数。
输出
输出一个整数,为该二进制数对应的十进制数。
样例输入 Copy
12
1 0 0 0 0 0 0 0 0 0 0 1
样例输出 Copy
2049
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,s,i=1,sum=0;
scanf("%d\n",&n);
s=n;
while(scanf("%d",&a),i<=s)
{
n--;
i++;
sum+=a*(int)pow(2,n);//2进制数转化为十进制
}
printf("%d",sum);
return 0;
}
PS: 如果有帮到你,希望留个赞,谢谢!