Comment #0 by ilyayaroshenko — 2020-06-21T02:06:43Z
Test case:
```
void main() {
import std.stdio;
ulong v = 0xE3251BACB112CB8B;
assert(cast(double)v == 0x1.c64a375962259p+63);
writefln("%a", cast(double)v); //0x1.c64a37596225ap+63
}
```
This is a DMD specific issue.
Comment #1 by dlang-bot — 2020-07-09T06:58:07Z
@WalterBright created dlang/dmd pull request #11393 "fix Issue 20963 - wrong code for cast(double)anUlong" fixing this issue:
- fix Issue 20963 - wrong code for cast(double)anUlong
https://github.com/dlang/dmd/pull/11393
Comment #2 by dlang-bot — 2020-07-12T02:56:49Z
dlang/dmd pull request #11393 "fix Issue 20963 - wrong code for cast(double)anUlong" was merged into master:
- 5d34dfd08ebd0c41a9332ed67a857bdfe00e528c by Walter Bright:
fix Issue 20963 - wrong code for cast(double)anUlong
https://github.com/dlang/dmd/pull/11393