C/C++教程

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

本文主要是介绍C - 二进制换十进制(简单),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

输入格式

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

第二行一个二进制数。

输出格式

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

Sample Input

5
10101

Sample Output

21
#include<stdio.h>
#include<math.h>
int main()
{
 int n,sum=0;//定义sum为总和 
 char b[999];//随便定义了一个较大的数组         
 int i;
 scanf("%d",&n);   
 getchar();      //getchar用于排除换行符          
 for(i=0;i<n;i++){    
  scanf("%c",&b[i]);//输入1个字符存储于b数组 
 }
 for(i=0;i<n;i++){        
  if(b[i]=='1'){//调用数学函数pow指数 
   sum=sum+pow(2,n-i-1); //发现2进制转换为10进制的规律,如1101,右边第一位是1*2^0,第二位是0*2^1, 
  }else{  //第三位是1*2^2,第四位是1*2^3次,发现规律设计程序 
   sum=sum+0;
  }
 }
 printf("%d",sum); //输出二进制转换为10进制的数        
 
 
}

这篇关于C - 二进制换十进制(简单)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!