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