这个C代码如何将二进制转换为十进制?

时间:2014-03-11 01:21:57

标签: c

关于此代码:

while(binary){
   digit = binary % 10;
   decimal += digit << base;
   base += 1;
   binary /= 10;
}

有人可以用一个例子来解释这个编码的工作吗? 它如何将二进制转换为十进制?

1 个答案:

答案 0 :(得分:0)

使用以下程序,它会将输入的二进制数转换为十进制数。参考以下代码:

#include<stdio.h>
#include<conio.h>
main()
{
    long b,dec=0,j=1,rem;
    clrscr();
    printf("Enter Binary number: ");
    scanf("%ld",&b);
    while(b!=0)
    {
        rem=b%10;
        ///////////////
        dec=dec+rem*j;
        ///////////////
        j=j*2;
        ///////////////
        b=b/10;
        ///////////////
    }
    printf("\nDecimal is %ld",dec);
    getch();
}