题目描述
将一个二进制数,转换为对应的十进制数。
输入
输入第一行为一个数n,表示二进制数的位数。
第二行有高位到低位依次输入二进制数的每一位数。
输出
输出一个整数,为该二进制数对应的十进制数。
样例输入
12
1 0 0 0 0 0 0 0 0 0 0 1
样例输出
2049
#include<stdio.h>
#include<math.h>
int a(int n) //得到每一位的位权
{
int i = 0;
int sum1 = 0;
sum1 = pow(2, n);
return sum1;
}
int main()
{
int n = 0;
scanf("%d", &n);
int num = 0;
int sum = 0;
for (int i = n-1; i>=0; i--)
{
scanf("%d", &num);
sum += a(i) * num;
}
printf("%d", sum);
return 0;