Quelle est la signification du nombre de colonnes (16384) dans MS Excel 2016?

29

Je viens de remarquer que le nombre de colonnes MS Excel est passé de ZZà XFD, c'est- à -dire 16 384 colonnes. Quelle est la signification de cette valeur particulière? Pourquoi MS n'est-il pas allé plus loin ZZZ? Pourquoi se sont-ils arrêtés XFD?

Karth
la source
1
Pas exactement répondre à votre question, mais MS énumère diverses limitations Excel ici - support.office.com/en-us/article/…
matrice
2
C'est une décision de conception arbitraire de maintenir la complexité dans des limites bien définies. Techniquement, la seule limite est les ressources disponibles (mémoire, CPU).
Daniel B
8
Comme @teylyn l'a expliqué dans sa réponse, les puissances de 2 sont des choix courants en informatique, mais il n'est probablement pas possible de répondre ici exactement pourquoi MS a choisi cette valeur, donc je vote pour fermer cette question en tant qu'opinion principale.
Máté Juhász
3
Il convient de noter que la limite maximale de colonnes est de 16 384 depuis au moins Excel 2007
Stevoisiak

Réponses:

34

La signification de 16 384 est que vous pouvez avoir des valeurs d'index de colonne interne de 0 à 16383. Voyons ce que 16383 est en binaire:

0011 1111 1111 1111

Il manque 2 bits d'un mot de 16 bits. 1 bit est susceptible d'être un indicateur absolu / relatif, ce qui laisse 1 bit à d'autres fins, et le tout se range parfaitement dans un seul mot.

Les numéros de ligne sont similaires: une valeur d'index maximale de 1048575 est la suivante:

0000 0000 0000 1111 1111 1111 1111 1111

Pour moi, en tant que programmeur, cela ressemble à un mot de 32 bits utilisé, avec les 20 derniers bits comme index de ligne et les 12 premiers bits utilisés pour autre chose.

David
la source
1
Cela a plus de sens pour moi
Ooker
9
1.048.576 est la première puissance de 2 qui est plus d'un million ... alors maintenant vous pouvez avoir "plus d'un million de colonnes"
HorusKol
6
et 16384 est la première puissance de 2, soit plus de dix mille. C'est peut-être la raison pour laquelle le PO recherche.
ris8_allo_zen0
56

16.384 est 2 ^ 14.

Parallèlement à l'extension des colonnes à 16 384, les lignes ont été étendues à plus d'un million, soit 1 048 576.

Ces nombres se rapportent respectivement à deux à la puissance de 14 (2 ^ 14) et à la puissance de 20 (2 ^ 20), de même que les progressions naturelles (logiques) à l'échelle des unités de mémoire de l'ordinateur qui étaient initialement structurées en octets .

À mesure que la mémoire de l'ordinateur augmentait, il était possible de charger et d'évaluer un plus grand nombre de lignes et de colonnes en mémoire pour les calculs, de sorte que la grille Excel pouvait se développer à partir des limitations des versions antérieures.

Ces nombres maximum de lignes et de colonnes ont été sélectionnés par les personnes qui conçoivent le fonctionnement d'Excel, bien sûr, et sont devenus possibles avec l'augmentation de la mémoire de l'ordinateur. Ils auraient pu choisir des nombres différents, mais le nombre de lignes et de colonnes dans Excel depuis la version 2007 est enraciné dans la puissance de 2.

teylyn
la source
2
Bien sûr, mais pourquoi pas 2 ^ 16 et 2 ^ 32 (donc un octet et un mot)?
Ajasja
12
@Ajasja Vous devrez demander à l'équipe de développement Excel à ce sujet. J'ai dit qu'ils auraient pu choisir des numéros différents dans ma réponse. J'ai seulement expliqué d'où vient le motif, pas pourquoi une certaine ampleur du motif a été choisie.
teylyn
14
En fait, en tant que MVP Microsoft Excel, vous êtes bien mieux placé pour poser cette question à l'équipe de développement Excel, par exemple, moi-même :) Toujours un +1.
Ajasja
5
Remarque: la plupart du codage Excel concerne la représentation interne sur les formules: 2 ^ 16 n'est pas pratique pour un entier 16 bits: Excel doit stocker également le positionnement relatif, donc les nombres négatifs et positifs. Peut-être que l'un des bits est utilisé comme indicateur (unique / intervalle), donc le nombre total de colonnes a été adapté
Giacomo Catenazzi
1
@GiacomoCatenazzi Le positionnement relatif fonctionnerait bien sans bit de signe dédié si vous considérez tout nombre qui vous dépasserait la dernière colonne comme négatif.
Random832