为什么Haskell中的无符号整数类型称为" Word"?是" ord"代表"序数"?
以下是Data.Word的文档: http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-Word.html#t:Word
谷歌这是一个非常难的问题!
答案 0 :(得分:22)
来自wikipedia:
术语“字”用于由特定体系结构的处理器同时处理的一小组位。因此,字的大小是CPU特定的。已经使用了许多不同的字大小,包括6,8,14,16,18,24,32,36,39,48,60和64位。由于它是体系结构的,因此字的大小通常由系列中的第一个CPU设置,而不是后来兼容的CPU的特性。从单词派生的术语(如长字,双字,四字和半字)的含义也因CPU和OS而异。
简而言之,一个字是CPU可以处理的固定长度的一组位。我们通常使用两个幂的单词,因为现代CPU处理得非常好。特别是word
并不是真正的数字,尽管我们将其视为大多数用途。相反,只需将其视为RAM中可以操作的固定位数即可。例如,Word8
之类的常见用法是实现ASCII C风格的字符串。 Haskell的实现将WordN
类型视为实现Num
的无符号整数,以及其他类型类。
有一个名为Data.Ord
的模块,其中“Ord”代表“Ordering”。它具有用于处理数据类型比较的额外函数,并且是定义Ordering
数据类型和Ord
类型类的地方。它与Data.Word
无关。