【发布时间】:2013-03-24 20:19:32
【问题描述】:
我在 C 中有一个包含 bigint 数据的字符串指针。
例如9223372036854775807 即2^63
我想将其转换为 double,但如您所知,double 有 15/16 位可用于存储小数部分,其余位将被丢弃。因此,上述非常大的数字将转换为 9.22337203685476E+18 即922337203685476000.
这使得比较原始值和转换值不匹配。这通常发生在 Linux 平台上。问题是为什么这不会在 Windows 上发生?
它是依赖于编译器还是我不知道的东西。 ?
【问题讨论】: