C program fractional binary conversion from decimal.

source code


#include<stdio.h>
#define MAX 1000
 int main()
{
    long double fraDecimal=0.0,dFractional=0.0 ,fraFactor=0.5;
    long int dIntegral = 0,bIntegral=0,bFractional[MAX];
    long int intFactor=1,remainder,i=0,k=0,flag=0;
    char fraBinary[MAX];
    printf("Enter any fractional binary number: ");
    scanf("%s",&fraBinary);
    while(fraBinary[i])
{
    if(fraBinary[i] == '.')
             flag = 1;
         else if(flag==0)
             bIntegral = bIntegral * 10 + (fraBinary[i] -48);
         else
              bFractional[k++] = fraBinary[i] -48;
         i++;
    }
    while(bIntegral!=0){
     remainder=bIntegral%10;
     dIntegral= dIntegral+remainder*intFactor;
        intFactor=intFactor*2;
        bIntegral=bIntegral/10;
    }
   for(i=0;i<k;i++)
{
         dFractional  = dFractional  + bFractional[i] * fraFactor;
         fraFactor = fraFactor / 2;
    }
    fraDecimal = dIntegral + dFractional ;
    printf("Equivalent decimal value: %Lf",fraDecimal);
getch();       
return 0;
}



Comments

Popular posts from this blog

8086 STRING MANIPULATION –FIND AND REPLACE A WORD

Animated Circles In C++

C program to find out the sum of series 1 + 2 + …. + n.