Haskell 中的 FloatingFractional 类有什么区别?

最佳答案

FractionalFloating 的定义可以在 Prelude 的文档中找到:



因此,将其翻译成英语:Fractional 是我可以定义除法的任何类型的数字:

(/) :: Fractional a => a -> a -> a

例如,浮点数和分数(分数有分子和分母)都是这种情况。这不是 Int 的情况,因为如果将 Int 除以 Int 并不总是产生 Int(但从技术上讲,这不是计算机上的另一种浮点除法)。
Fractional 数字的子集是 Floating 数字,其中定义了三角函数。例如,一个分数的 sin 不可能总是产生一个分数:sin 被定义为一个无限序列的和。仅适用于非常有限数量的情况(例如 sin 0 )。基本上,计算机上定义三角函数的唯一数字(大约)是浮点数。

关于haskell - Haskell 中的 Floating 和 Fractional 类有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41964228/

10-13 23:52