Яке значення має кількість стовпців (16384) у MS Excel 2016?


29

Я просто зауважив , що граф колонка MS Excel збільшився з ZZдо XFD, тобто 16384 стовпців. Яке значення має саме ця цінність? Чому МС не пішли далі, до ZZZ? Чому вони зупинилися на XFD?


1
Не точно відповідаю на ваше запитання, але MS перераховує тут різні обмеження у програмі excel - support.office.com/en-us/article/…
матриця

2
Це довільне дизайнерське рішення зберігати складність у чітко визначених межах. Технічно єдиним обмеженням є доступні ресурси (пам'ять, процесор).
Даніель Б

8
Як пояснив @teylyn у своїй відповіді, повноваження 2 - це звичайний вибір інформатики, проте саме тому, чому МС обрала це значення, напевно, тут неможливо відповісти, тому я голосую, щоб закрити це питання на основі первинної думки.
Máté Juhász


3
Варто зауважити, що максимальна межа стовпця склала 16 384 з часу принаймні Excel 2007
Stevoisiak

Відповіді:


34

Значення 16 384 полягає в тому, що ви можете мати внутрішні значення індексу стовпців від 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 верхніх - для чогось іншого.


1
Це має для мене більше сенсу
Ooker

9
1,048,576 - це перша потужність у 2, яка перевищує мільйон ... тож тепер у вас може бути "понад мільйон стовпців"
HorusKol

6
а 16384 - перша потужність 2, яка перевищує десять тисяч. Тож це може бути причиною пошуку ОП.
ris8_allo_zen0

56

16,384 - 2 ^ 14.

У той же час, коли стовпці були розширені до 16 384, рядки були розширені до понад мільйон, тобто 1048 576.

Ці числа стосуються двох до потужності 14 (2 ^ 14) і двох до потужності 20 (2 ^ 20) відповідно, тому є природними (логічними) прогресуваннями за шкалою одиниць пам'яті комп'ютера, які спочатку були структуровані в байтах .

Зі збільшенням пам'яті комп'ютера, для обчислень можна було завантажувати та оцінювати велику кількість рядків і стовпців у пам'яті, тож сітка Excel могла зростати з обмежень попередніх версій.

Ці максимальні цифри для рядків і стовпців вибрали, звичайно, люди, які проектують, як працює Excel, і це стало можливим із збільшенням пам'яті комп'ютера. Вони могли вибирати різні числа, але кількість рядків і стовпців в Excel з версії 2007 року вкорінюється потужністю 2.


2
Звичайно, але чому б не 2 ^ 16 і 2 ^ 32 (так що байт і слово)?
Ajasja

12
@Ajasja Вам потрібно буде запитати про це команду розробників Excel. Я сказав, що вони могли обрати різні цифри у моїй відповіді. Я лише пояснив, звідки береться візерунок, а не чому було обрано певну величину шаблону.
тейлін

14
Насправді як Excel Microsoft MVP ви маєте набагато вигідніший варіант задати команді розробників Excel це запитання, наприклад, моєму самому :) Все-таки +1.
Ajasja

5
Примітка: більшість кодувань excel стосуються внутрішнього представлення у формулах: 2 ^ 16 недоцільно для 16-бітного цілого числа: Excel також повинен зберігати відносне позиціонування, тому обидва від’ємні та додатні числа. Можливо, один з бітів використовується як прапор (одинарний / інтервальний), тому загальна кількість стовпців була адаптована
Giacomo Catenazzi

1
@GiacomoCatenazzi Відносне позиціонування спрацює нормально без виділеного бітового знака, якщо ви просто вважаєте будь-яке число, яке перенесе вас за останній стовпець, негативним.
Випадково832
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.