Convert double to long if lossless
kdevel
kdevel at vogtner.de
Tue Jan 19 21:04:51 UTC 2021
On Tuesday, 19 January 2021 at 11:42:17 UTC, Per Nordlöw wrote:
> I want to convert a double to a long if conversion is lossless
> (without fractional part, non-nan, non-inf, within long-range,
> etc).
And then? I mean: What do you want to do with the long what could
not
be done with the double in the first place?
BTW: Has anybody noticed that there already might have been a
loss of precision
even before the conversion to long, since the mantissa of the
double only
entails 53 bit?
long q = 1L << 53;
long r = q + 1;
assert (q != r);
double s = q, t = r;
assert (s == q);
assert (t == r);
assert (s != t); // fail
More information about the Digitalmars-d-learn
mailing list