Я только что заметил, что количество столбцов MS Excel увеличилось с ZZ
до XFD
16384 столбцов. Каково значение этой конкретной ценности? Почему MS не пошел дальше, до ZZZ
? Почему они остановились на XFD
?
Я только что заметил, что количество столбцов MS Excel увеличилось с ZZ
до XFD
16384 столбцов. Каково значение этой конкретной ценности? Почему MS не пошел дальше, до ZZZ
? Почему они остановились на XFD
?
Ответы:
Значение 16384 состоит в том, что вы можете иметь внутренние значения индекса столбца от 0 до 16383. Давайте посмотрим, что такое 16383 в двоичном виде:
0011 1111 1111 1111
Это на 2 бита меньше 16-битного слова. 1 бит, вероятно, будет абсолютным / относительным флагом, который оставляет 1 бит для какой-то другой цели, и все это аккуратно упаковано в одно слово.
Номера строк одинаковы: максимальное значение индекса 1 048 575:
0000 0000 0000 1111 1111 1111 1111 1111
Мне, как программисту, похоже, что используется 32-битное слово, причем нижние 20 битов служат индексом строки, а верхние 12 битов используются для чего-то еще.
16 384 - это 2 ^ 14.
В то же время, когда столбцы были расширены до 16 384, строки были расширены до более миллиона, то есть 1 048 576.
Эти числа относятся к двум к степени 14 (2 ^ 14) и двум к степени 20 (2 ^ 20) соответственно, так же как и естественные (логические) прогрессии в масштабе блоков памяти компьютера, которые изначально были структурированы в байтах ,
По мере увеличения памяти компьютера стало возможным загружать и оценивать большее количество строк и столбцов в памяти для вычислений, поэтому сетка Excel могла вырасти из-за ограничений более ранних версий.
Эти максимальные числа для строк и столбцов были выбраны людьми, которые разрабатывают, как работает Excel, и стали возможными с ростом компьютерной памяти. Они могли бы выбрать разные числа, но количество строк и столбцов в Excel начиная с версии 2007 коренится в степени 2.