C语言二进制转化为十进制源码


#include<math.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 33

int input(int);
char a[N];                                                              

main()
{
    int i,n,sum=0;
  
    n=input(1);
    for(i=n-1;i>=0;i--)                                                    //二进制输入检错
    {
        if((a[i]-'0')!=1&&(a[i]-'0')!=0)
            n=input(0);
    }

    for(i=n-1;i>=0;i--)                                                    //二进制转换十进制
        sum+=(a[i]-'0')*((int)pow(2,n-1-i));
    printf(">>转换后的十进制数为:\n%d\n",sum);
    system("pause");
}

int input(int m)
{
    printf(">>%s输入一个二进制数:\n",m?"请":"输入有误,请重新");
    scanf("%s",a);
    return strlen(a);

}

 

2011-01-10


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM