9999999999999999.0 - 9999999999999998.0
Samir
samir at aol.com
Sun Jan 6 00:20:40 UTC 2019
I saw the following thread[1] today on Hacker News that discusses
an article that compares how various languages compute
9999999999999999.0 - 9999999999999998.0. A surprisingly large
number of languages return 2 as the answer. I ran the following
which returned 1:
import std.stdio: writeln;
void main(){
writeln(cast(double)9999999999999999.0-9999999999999998.0);
}
I don't know anything about IEEE 754[2] which, according to the
HN discussion, is the standard for floating point arthimetic, but
was pleasantly surprised to see how D handles this. Does anyone
know why?
Thanks
Samir
[1] https://news.ycombinator.com/item?id=18832155
[2] https://en.wikipedia.org/wiki/IEEE_754
More information about the Digitalmars-d-learn
mailing list