二进制换十进制(简单)

把一个二进制数转化为十进制数。

输入格式

第一行一个正整数 n\ (1\le n\le 30)n (1≤n≤30),表示二进制数的长度。

第二行一个二进制数。

输出格式

输出一个整数,表示对应的十进制数。

Sample Input

5
10101

Sample Output

21

思路:设一个循环计算2进制中每一位输入的值是0还是1,将此值乘2,再累加。

#include<stdio.h>
#include<math.h>
int main()
{
 
 int a=0,n;
 scanf("%d",&n);
 getchar();//用getchar一个一个输入
 while(n--){
 	a*=2;//将值乘2
 	a+=getchar()-'0';//将值累加
 }
 printf("%d",a);
 return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_62663993/article/details/121362130