把一个二进制数转化为十进制数。
输入格式
第一行一个正整数 n, (1≤n≤30),表示二进制数的长度。
第二行一个二进制数。
输出格式
输出一个整数,表示对应的十进制数。
Sample Input
5 10101
Sample Output
21
思路:通过定义一个长度为30的数组,将需要的二进制输入,用循环的形式将二进制变为十进制后输出
#include<stdio.h>
#include<math.h>
int main(void)
{
int n,i,s=0;
char a[30];
scanf("%d",&n);
getchar();
for(i=0;i<n;i++){
scanf("%c",&a[i]);
}
for(i=0;i<n;i++){
if(a[i]=='1')
s+=pow(2,n-i-1);
else
{
s+=0;
}
}
printf("%d",s);
return 0;
}
啦啦啦