double和long long整数之间的精度差异是多少?

时间:2013-11-28 08:03:00

标签: c++ precision integer-overflow double-precision

 36103009879073133562313702394913733
 36103009879073133562313702394913733.0

作为一个例子,

在C ++中将一个非常长的整数表示为double时,精度有何不同?

1 个答案:

答案 0 :(得分:2)

首先,C ++中没有very long类型。我假设你在谈论一个64位整数类型,double对应于64位IEE 754浮点表示。

64位整数具有(最多)64位精度;即大约19个十进制数字(假设无符号整数类型)。相比之下,64位IEE浮点具有52位精度;即大约15位小数。

您给出的示例有35个十进制数字,这意味着它不能表示为64位整数 。该数字的double表示将大约丢失精确度的最后20位小数。

参考: