Jakie jest znaczenie liczby kolumn (16384) w MS Excel 2016?

29

Właśnie zauważyłem, że liczba kolumn MS Excel wzrosła z ZZdo XFD, tj. 16 384 kolumn. Jakie jest znaczenie tej konkretnej wartości? Dlaczego stwardnienie rozsiane nie poszło dalej ZZZ? Dlaczego się zatrzymali XFD?

Karth
źródło
1
Nie do końca odpowiadam na twoje pytanie, ale stwardnienie rozsiane wymienia tutaj różne ograniczenia programu Excel - support.office.com/en-us/article/…
matryca
2
To arbitralna decyzja projektowa, aby utrzymać złożoność w ściśle określonych granicach. Technicznie jedynym ograniczeniem są dostępne zasoby (pamięć, procesor).
Daniel B
8
Jak wyjaśniła @teylyn w swojej odpowiedzi, potęgi 2 są powszechnymi wyborami w informatyce, jednak dokładnie dlaczego MS wybrało tę wartość prawdopodobnie nie jest tutaj możliwa odpowiedź, więc głosuję za zamknięciem tego pytania jako podstawowej opinii.
Máté Juhász,
3
Warto zauważyć, że maksymalny limit kolumn wynosił 16 384 od co najmniej Excel 2007
Stevoisiak

Odpowiedzi:

34

Znaczenie 16 384 polega na tym, że możesz mieć wewnętrzne wartości indeksu kolumny od 0 do 16383. Spójrzmy na to, co 16383 jest w systemie binarnym:

0011 1111 1111 1111

Ma 2 bity niż 16-bitowe słowo. 1 bit może być flagą bezwzględną / względną, która pozostawia 1 bit do innych celów, a całość spakowana jest w jednym słowie.

Numery wierszy są podobne: maksymalna wartość indeksu 1 048 575 to:

0000 0000 0000 1111 1111 1111 1111 1111

Dla mnie, jako programisty, który wygląda jak 32-bitowe słowo, z dolnymi 20 bitami jako indeksem wiersza, a górnymi 12 bitami używanymi do czegoś innego.

David
źródło
1
Ma to dla mnie więcej sensu
Ooker,
9
1 048 576 to pierwsza potęga 2, czyli ponad milion ... więc teraz możesz mieć „więcej niż milion kolumn”
HorusKol
6
a 16384 to pierwsza potęga 2, czyli ponad dziesięć tysięcy. To może być powód, dla którego PO szuka.
ris8_allo_zen0
56

16 384 to 2 ^ 14.

W tym samym czasie, gdy kolumny zostały rozszerzone do 16 384, wiersze zostały rozszerzone do ponad miliona, tj. 1 048 576.

Liczby te odnoszą się odpowiednio do dwóch odpowiednio do potęgi 14 (2 ^ 14) i dwóch do potęgi 20 (2 ^ 20), podobnie jak naturalne (logiczne) postępy w skali jednostek pamięci komputera, które początkowo były ułożone w bajty .

Wraz ze wzrostem pamięci komputera możliwe było ładowanie i ocena większej liczby wierszy i kolumn w pamięci do obliczeń, dzięki czemu siatka programu Excel mogła rosnąć z ograniczeń wcześniejszych wersji.

Te maksymalne liczby wierszy i kolumn zostały wybrane przez osoby, które projektują sposób działania programu Excel, i stały się możliwe wraz ze wzrostem pamięci komputera. Mogli wybrać inne liczby, ale liczba wierszy i kolumn w programie Excel od wersji 2007 jest zakorzeniona w potędze 2.

teylyn
źródło
2
Jasne, ale dlaczego nie 2 ^ 16 i 2 ^ 32 (więc bajt i słowo)?
Ajasja,
12
@Ajasja Musisz o to zapytać zespół programistów Excela. Powiedziałem, że w mojej odpowiedzi mogli wybrać inne liczby. Wyjaśniłem tylko, skąd wzorzec pochodzi, a nie dlaczego wybrano pewną wielkość wzoru.
teylyn
14
Właściwie jako Excel Microsoft MVP jesteś w znacznie lepszej sytuacji, aby zadać zespołowi programistycznemu Excel to pytanie, na przykład moje własne :) Nadal +1.
Ajasja,
5
Uwaga: większość kodowania Excela dotyczy wewnętrznej reprezentacji formuł: 2 ^ 16 jest niepraktyczne dla 16-bitowej liczby całkowitej: Excel musi przechowywać również pozycjonowanie względne, więc obie liczby ujemne i dodatnie. Być może jeden z bitów jest używany jako flaga (pojedynczy / interwał), więc całkowita liczba kolumn została dostosowana
Giacomo Catenazzi
1
@GiacomoCatenazzi Pozycjonowanie względne działałoby dobrze bez specjalnego bitu znakowego, jeśli weźmiesz pod uwagę dowolną liczbę, która prowadziłaby cię przez ostatnią kolumnę, za ujemną.
Random832