Removing the sign bit and the exponent and prepending the implicit 1., results in 1.1111111000000000000000000000000000000000000000000000. So the number is 0b1.1111111 * 2** (0b10000111110 - 1023) = 0b1.1111111 * 2 ** 63 = 0xff00_0000_0000_0000. The number can be represented precisely as an NV because its last bits are zero.
The problem seems related to the MS compiler not converting correctly between NVs and uint64.
Could you try the current GitHub version and post here the output from MSC.t?
In reply to Re^22: supporting quads on 32 bit Perl
by salva
in thread supporting quads on 32 bit Perl
by bulk88
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |