Float to sign/exp/mantissa
Andrew Koenig
ark at alice.UUCP
Wed Apr 5 03:09:13 AEST 1989
In article <1026 at cs-spool.calgary.UUCP>, paquette at cpsc.ucalgary.ca (Trevor Paquette) writes:
> I am sure that someone out there has a routine that given
> a floating point number, what is the sign, exponent and mantissa
> of the number..
The widely available frexp() library function gives you most
of what you want. After executing the following:
double x;
double frexp();
double mant;
int exp;
x = /* some value */;
mant = frexp(x, &exp);
you are guaranteed that x is equal to mant * 2^^exp (here, ^^ means
exponentiation), that 0.5 <= |mant| < 1, and that the sign of mant
is the same as the sign of x, except that if x is 0, mant and exp
will be 0 too.
That should make it easy for you to get what you want.
--
--Andrew Koenig
ark at europa.att.com
More information about the Comp.unix.wizards
mailing list