把一个二进制数转化为十进制数。
第一行一个正整数 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; }