十进制数学是否使用 FPU?
我认为答案是肯定的,但我不确定,因为小数不是浮点数,而是固定精度数。
我主要在寻找.NET,但一般的答案也会很有用。
关于 .NET,更具体地说是 C#,不,System.Decimal
不使用 FPU,因为该类型是在软件中模拟的。
此外,System.Decimal
它是一个浮点数,而不是数据库中常见的固定精度数。该类型实际上是使用 10 作为其基数的十进制浮点数,而不是使用 2 作为其基数的二进制浮点数(即System.Single
or )。System.Double
如果您尝试存储无法精确表示的分数,例如 1/3,它仍然存在相同的精度问题。
是的,现代语言一般都支持浮点数学和整数数学,仅此而已;没有对定点、BCD 等的直接支持。浮点数学将使用浮点处理器指令完成;现代架构不包括单独的 FPU。