为什么十进制类不使用剩余的26位?

Ram*_*uri 22 c# decimal

十进制类使用96位作为积分部分,1位作为符号,5位作为比例因子.26位未使用,最大值为7.9e28,因为最大指数为28.

使用其他26位,精度会更高.这个实现选择的原因是什么?

Mik*_*ica 3

您可能会发现这篇文章很有用:

http://csharpindepth.com/articles/general/decimal.aspx

128 是 4 x 32。大多数 CPU 都有 32(或 64)位寄存器和 ALU,因此任何能被 32 整除的东西都更容易操作和存储等。