Base-2和Base-10在速度和性能上有什么区别?

时间:2017-06-15 16:35:16

标签: c# double decimal computer-science

我知道base-2base-10的基本定义但是我想知道它们在性能速度之间有什么区别一个程序。

例如: 在C#中,数据类型doubleBase-2,数据类型decimalBase-10 因此double的计算速度非常快,而decimal的速度比双倍慢10倍。

我不明白为什么会这样,所以请任何人向我解释并提前感谢:)

1 个答案:

答案 0 :(得分:2)

性能差异的原因不是由于数字基础的差异,而是由于执行计算时硬件辅助的可用性。

double in .NET is represented in the way that follows IEEE-754 standard,这意味着有大量硬件辅助可用于在大多数平台上执行shared_int次计算。

与二进制表示不同,十进制表示有点近(标准不到十年),所以availability of hardware assistance is still rather limited。这可能在将来发生变化,但目前这意味着shared_int中的计算需要更多的CPU周期才能执行。