Split Real / Float into Mantissa, Exponent, and Base
Marc Schütz via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Mar 6 00:21:11 PST 2017
On Friday, 3 March 2017 at 18:09:02 UTC, Jonathan M. Wilbur wrote:
> I have tried to come up with a good way to get the mantissa,
> exponent, and base from a real number, and I just can't come up
> with a good cross-platform way of doing it. I know about
> std.math.frexp(), but that function only gives you another real
> as the mantissa. I need an integral mantissa, exponent, and
> base.
>
> Is there either (1) a crafty, cross-platform way of doing this
> or (2) a function in a standard library that does this that I
> somehow missed? If there is no such function, what are your
> thoughts on me implementing such a thing and submitting it to
> Phobos, probably similar to how frexp is implemented (elseifs
> for each FP format)?
See std.bitmanip.FloatRep and std.bitmanip.DoubleRep:
https://dlang.org/phobos/std_bitmanip.html#.FloatRep
https://dlang.org/phobos/std_bitmanip.html#.DoubleRep
More information about the Digitalmars-d-learn
mailing list