为什么Haskell中的Data.Word称之为?

时间:2014-03-20 20:47:38

标签: haskell

为什么Haskell中的无符号整数类型称为" Word"?是" ord"代表"序数"?

以下是Data.Word的文档: http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-Word.html#t:Word

谷歌这是一个非常难的问题!

1 个答案:

答案 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无关。