fork(1) download
  1. #include <math.h>
  2. #include <stdio.h>
  3.  
  4. //This program convert a floating number to its binary representation
  5.  
  6. int main()
  7. {
  8.  
  9. long double f, binaryTotal, binaryFrac = 0.0, frac, fracFractor = 0.1;
  10. long int integer, binaryInt = 0;
  11. long int p = 0, rem, temp;
  12.  
  13. printf("\nEnter floating number: ");
  14. scanf("%Lf",&f);
  15.  
  16. //separate the integer part from the input floating number
  17. integer = (int)f;
  18.  
  19. //separate the fractional part from the input floating number
  20. frac = f - integer;
  21.  
  22. //loop to convert integer part to binary
  23. while(integer != 0)
  24. {
  25. rem = integer % 2;
  26. binaryInt = binaryInt + rem *pow(10,p);
  27. integer = integer/2;
  28. p++;
  29. }
  30.  
  31. //loop to convert fractional part to binary
  32. while(frac != 0)
  33. {
  34. frac = frac * 2;
  35. temp = frac;
  36. binaryFrac = binaryFrac + fracFractor * temp;
  37. if (temp == 1)
  38. frac = frac - temp;
  39.  
  40. fracFractor = fracFractor/10 ;
  41.  
  42.  
  43. }
  44.  
  45. binaryTotal = binaryInt + binaryFrac;
  46. printf("binary equivalent = %Lf\n", binaryTotal);
  47.  
  48.  
  49. }
Success #stdin #stdout 0s 2172KB
stdin
17.655304
stdout
Enter floating number: binary equivalent = 10001.101001