3

我正在阅读“算法导论”,第三版。在“分析算法”部分下,它写道:

我们还假设每个数据字的大小有限制。例如,当处理大小为 n 的输入时,我们通常假设整数由 c lg n 位表示,对于某个常数 c>=1。我们要求 c>=1 以便每个单词都可以保存 n 的值,从而使我们能够索引各个输入元素,并且我们将 c 限制为常数,这样单词大小就不会任意增长。

这里的“字”字有什么意义?这是用“单词”表示数据的标准吗?

4

2 回答 2

7

它们的意思是机器词;基本上是处理器寄存器的大小,或者该机器的一段数据的“最自然大小”。对于 32 位机器,它是 32 位;对于 64 位机器,它(毫不奇怪)是 64 位。

随着计算机体系结构的发展,字长曾经变得更加可变。如果您查看这篇关于字长的 Wikipedia 文章,您会看到 12 位、18 位、21 位、24 位、31 位、36 位、48 位和 60 位描述的链接位硬件。我记得读过一次关于 72 位机器的文章,虽然我现在找不到参考资料。

于 2012-07-15T16:24:19.903 回答
1

“字”通常是与底层处理器的数据寄存器大小相匹配的多字节整数值。例如,在某些系统上可能是 16 位,在其他系统上可能是 32 位,尽管这些不是唯一的可能性。

在某些语言中,它曾经是一种数据类型,但缺乏标准化的大小导致了很多可移植性问题。

于 2012-07-15T16:27:02.367 回答