【发布时间】:2014-06-21 21:42:53
【问题描述】:
十进制类使用 96 位作为整数部分,1 位用于符号,5 位用于比例因子。 26位未使用,最大值为7.9e28,因为最大指数为28。
使用其他 26 位,精度会更高。这种实施选择的原因是什么?
【问题讨论】:
-
23 位,而不是 26 位。请参阅上一个问题的 this answer from Eric Lippert 的最后一句话。
-
它早在 .NET 之前就已经存在了。至少 VB4 中的 OLE 自动化,可能会更进一步,其中涉及 Excel 或 Lotus 123 的非零几率。在内部 System.Currency 类型中仍然有些可见。可以肯定的是,16 位未使用的位用于存储货币种类,其余 7 位用于对齐填充。这一切都消失在时间的迷雾中,不可能准确。
-
@HansPassant 你能把它作为答案发布吗?