把一个二进制数转化为十进制数。
输入格式
第一行一个正整数 n\ (1\le n\le 30)n (1≤n≤30),表示二进制数的长度。
第二行一个二进制数。
输出格式
输出一个整数,表示对应的十进制数。
首先,二进制转化为十进制:1、首先在主函数中设置成函数Sum,另外定义了一个数组array ,用于存放输入的八位二进制数。 2、然后使用了一个for循环语句,用于输入八位二进制数。
得出代码如下:
#include<stdio.h>
int main(){
int x;
scanf("%d",&x);
getchar();//用 getchar()去掉多余的回车
int sum=0;
for (sum=0;sum>0;sum--){
sum*=2//二进制转化为十进制的规则:初始值乘2,再在for循环里逐个处理
sum+=getchar()-'0';//getchar()默认输出字符,与'0’作差将字符转化为数字
}//逐个处理输入的二进制数,得出十进制数
printf("%d",sum);
return 0;
}