是否存在 64 位二进制补码表示(有时用于
long
)和 IEEE-754 二进制 64 表示(通常用于 double
)相同的值?如果有,有多少个这样的数字,它们是什么?有谁知道关于这个主题的任何研究或讨论吗?
我发现只有 0,double 和 long 的按位表示是相等的,两者都只是 64 位零。还有其他的吗?如果我们取 1,那么使用二进制补码的 long 1 按位表示为 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001,对于 double 为 0 01111111111 0000 000000 00 00000000 00000000 00000000 00000000 00000000。因此它们的按位表示形式不同。