C - 二进制换十进制(简单)

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

输入格式

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

第二行一个二进制数。

输出格式

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

Sample Input

5
10101

Sample Output

21
​
#include<stdio.h>
#include<math.h>
int main(){
    char ch;//将ch用char定义为字符
	int x,i=0,s=0;
	scanf("%d",&x);//输入字符长度
	for(i=x;i>=0;i--)
	{
	    scanf("%c",&ch);
	    if(ch=='1')
	    {
			s+=pow(2,i);
		}	
	}	
	printf("%d\n",s);//输出转化后的十进制数
	return 0;		
}

​

解题思路

本题是用二进制转化为十进制输出,且要输入二进制字符的长度,因此需要两个scanf,其中需要用到库函数,因此还需要写上#include<math.h>,确保函数引用成功。最后输出s,即转化后的十进制数。

猜你喜欢

转载自blog.csdn.net/ChenYangBob/article/details/121410136