MS Excel 2016 中的列数 (16384) 有何意义?

Kar*_*rth 30 microsoft-excel microsoft-excel-2016

我刚刚注意到 MS Excel 列数从ZZ增加到XFD,即 16,384 列。这个特殊值的意义是什么?为什么 MS 没有走得更远ZZZ呢?他们为什么停在XFD

tey*_*lyn 58

16,384 是 2^14。

在列扩展到 16,384 行的同时,行扩展到超过一百万,即 1,048,576。

这些数字分别与 2 的 14 次方 (2^14) 和 2 的 20 次方 (2^20) 相关,因此最初以字节为单位构成的计算机内存单元规模上的自然(逻辑)级数是.

随着计算机内存的增加,可以在内存中加载和评估更大数量的行和列以进行计算,因此 Excel 网格可以摆脱早期版本的限制。

当然,这些行和列的最大数量是由设计 Excel 工作方式的人员选择的,并且随着计算机内存的增加而成为可能。他们可以选择不同的数字,但自 2007 版以来 Excel 中的行数和列数植根于 2 的幂。

  • 实际上,作为 Excel Microsoft MVP,您可以更好地向 Excel 开发团队提出这个问题,例如,我自己:) 仍然是 +1。 (15认同)
  • @Ajasja 您需要就此询问 Excel 开发团队。我说他们可以在我的回答中选择不同的数字。我只解释了模式的来源,而不是为什么选择了一定幅度的模式。 (13认同)
  • 注意:大多数 excel 编码都是关于公式的内部表示:2^16 对于 16 位整数是不切实际的:Excel 还需要存储相对定位,因此负数和正数都是。可能其中一位用作标志(单个/间隔),因此调整了总列数 (5认同)
  • 当然,但为什么不是 2^16 和 2^32(所以一个字节和一个字)? (2认同)

Dav*_*vid 35

16,384 的意义在于你可以拥有从 0 到 16383 的内部列索引值。让我们看看 16383 是什么二进制:

0011 1111 1111 1111
Run Code Online (Sandbox Code Playgroud)

它比 16 位字少 2 位。1 位可能是一个绝对/相对标志,它留下 1 位用于其他目的,整个事情整齐地打包在一个字中。

行号相似:最大索引值 1,048,575 是这样的:

0000 0000 0000 1111 1111 1111 1111 1111
Run Code Online (Sandbox Code Playgroud)

对我来说,作为一名程序员,这看起来像是在使用 32 位字,底部 20 位作为行索引,顶部 12 位用于其他内容。

  • 1,048,576 是超过一百万的 2 的第一个幂......所以现在你可以拥有“超过一百万的列” (9认同)
  • 而16384是一万多的2的一次幂。所以这可能是 OP 正在寻找的原因。 (6认同)