#include <math.h>
#include <stdio.h>
//This program convert a floating number to its binary representation
int main()
{
long double f, binaryTotal, binaryFrac = 0.0, frac, fracFractor = 0.1;
long int integer, binaryInt = 0;
long int p = 0, rem, temp;
printf("\nEnter floating number: ");
//separate the integer part from the input floating number
integer = (int)f;
//separate the fractional part from the input floating number
frac = f - integer;
//loop to convert integer part to binary
while(integer != 0)
{
rem = integer % 2;
binaryInt
= binaryInt
+ rem
*pow(10,p
); integer = integer/2;
p++;
}
//loop to convert fractional part to binary
while(frac != 0)
{
frac = frac * 2;
temp = frac;
binaryFrac = binaryFrac + fracFractor * temp;
if (temp == 1)
frac = frac - temp;
fracFractor = fracFractor/10 ;
}
binaryTotal = binaryInt + binaryFrac;
printf("binary equivalent = %Lf\n", binaryTotal
);
}
I2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CgovL1RoaXMgcHJvZ3JhbSBjb252ZXJ0IGEgZmxvYXRpbmcgbnVtYmVyIHRvIGl0cyBiaW5hcnkgcmVwcmVzZW50YXRpb24gCgppbnQgbWFpbigpCnsKCmxvbmcgZG91YmxlIGYsIGJpbmFyeVRvdGFsLCBiaW5hcnlGcmFjID0gMC4wLCBmcmFjLCBmcmFjRnJhY3RvciA9IDAuMTsKbG9uZyBpbnQgaW50ZWdlciwgYmluYXJ5SW50ID0gMDsKbG9uZyBpbnQgcCA9IDAsIHJlbSwgdGVtcDsKCnByaW50ZigiXG5FbnRlciBmbG9hdGluZyBudW1iZXI6ICIpOwpzY2FuZigiJUxmIiwmZik7CgovL3NlcGFyYXRlIHRoZSBpbnRlZ2VyIHBhcnQgZnJvbSB0aGUgaW5wdXQgZmxvYXRpbmcgbnVtYmVyCmludGVnZXIgPSAoaW50KWY7CgovL3NlcGFyYXRlIHRoZSBmcmFjdGlvbmFsIHBhcnQgZnJvbSB0aGUgaW5wdXQgZmxvYXRpbmcgbnVtYmVyCmZyYWMgPSBmIC0gaW50ZWdlcjsKCi8vbG9vcCB0byBjb252ZXJ0IGludGVnZXIgcGFydCB0byBiaW5hcnkKd2hpbGUoaW50ZWdlciAhPSAwKQp7CiAgICByZW0gPSBpbnRlZ2VyICUgMjsKICAgIGJpbmFyeUludCA9IGJpbmFyeUludCArIHJlbSAqcG93KDEwLHApOwogICAgaW50ZWdlciA9IGludGVnZXIvMjsKICAgIHArKzsKfQoKLy9sb29wIHRvIGNvbnZlcnQgZnJhY3Rpb25hbCBwYXJ0IHRvIGJpbmFyeQp3aGlsZShmcmFjICE9IDApCnsKICAgIGZyYWMgPSBmcmFjICogMjsKICAgIHRlbXAgPSBmcmFjOwogICAgYmluYXJ5RnJhYyA9IGJpbmFyeUZyYWMgKyBmcmFjRnJhY3RvciAqIHRlbXA7CiAgICBpZiAodGVtcCA9PSAxKQogICAgICAgIGZyYWMgPSBmcmFjIC0gdGVtcDsKCiAgICBmcmFjRnJhY3RvciA9IGZyYWNGcmFjdG9yLzEwIDsKCgp9CgpiaW5hcnlUb3RhbCA9IGJpbmFyeUludCArIGJpbmFyeUZyYWM7CnByaW50ZigiYmluYXJ5IGVxdWl2YWxlbnQgPSAlTGZcbiIsIGJpbmFyeVRvdGFsKTsKCgp9