Dlaczego komputery liczą się od zera?

Apr 16, 2025
Sprzęt komputerowy
TREŚĆ NIENARUSZONA


Liczenie od zera jest bardzo powszechną praktyką w wielu językach komputerowych, ale dlaczego? Czytaj dalej, gdy badamy to zjawisko i dlaczego jest tak powszechne.

Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser DragonLord jest ciekawy, dlaczego większość systemów operacyjnych i języków programowania liczy się od zera. On pisze:

Komputery tradycyjnie zliczają wartości liczbowe zaczynając od zera. Na przykład tablice w językach programowania opartych na języku C zaczynają się od indeksu zero.

Jakie istnieją historyczne powody takiego stanu rzeczy i jakie praktyczne zalety ma liczenie od zera w porównaniu z liczeniem od jedynki?

Rzeczywiście, dlaczego? Choć praktyka jest powszechna, z pewnością istnieją praktyczne powody, dla których warto ją wdrożyć.

Odpowiedź

Współautor SuperUser Matteo oferuje następujące spostrzeżenia:

Liczenie tablic od 0 upraszcza obliczanie adresu pamięci każdego elementu.

Jeśli tablica jest przechowywana w określonej pozycji w pamięci (nazywa się to adresem), pozycję każdego elementu można obliczyć jako

element (n) = adres + n * size_of_the_element

Jeśli weźmiesz pod uwagę pierwszy element jako pierwszy, obliczenie stanie się

element (n) = adres + (n-1) * size_of_the_element

Nie jest to duża różnica, ale dodaje niepotrzebne odejmowanie przy każdym dostępie.

Edytowano, aby dodać:

  • Użycie indeksu tablicy jako przesunięcia nie jest wymogiem, a jedynie nawykiem. Przesunięcie pierwszego elementu mogłoby być ukryte przez system i brane pod uwagę podczas przydzielania i odwoływania się do elementu.
  • Dijkstra opublikował artykuł „Dlaczego numeracja powinna zaczynać się od zera” ( pdf ), gdzie wyjaśnia, dlaczego rozpoczęcie od 0 jest lepszym wyborem. Rozpoczynanie od zera umożliwia lepszą reprezentację zakresów.

Jeśli chcesz zagłębić się w odpowiedź, artykuł Dijkstry jest pouczającą lekturą.


Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .

Why Do Computers Count From Zero? (16 Solutions!!)

#1 How Computers Count?

Computers Count From Zero .. Confused?? - How To Fix! (Java / Python)

How Do Computers Keep Time?

Why Do Computers Use 1s And 0s? Binary And Transistors Explained.

Exploring How Computers Work

Why Use Binary? - Computerphile


Sprzęt komputerowy - Najpopularniejsze artykuły

Wszystko, co musisz wiedzieć o modowaniu Nintendo Switch

Sprzęt komputerowy May 31, 2025

Nintendo Przełącznik Nintendo to niezły sprzęt, ale co by było, gdyby mógł zrobić więcej? Niektórzy ludzie modyfikują i instalują niestandardowe o..


Objaśnienie płyt głównych: Co to są ATX, MicroATX i Mini-ITX?

Sprzęt komputerowy Sep 27, 2025

TREŚĆ NIENARUSZONA MSI Standaryzacja sprzętu to jedna z największych zalet komputerów stacjonarnych. Możesz mieszać i dopasowywać części według w..


Jak zaktualizować i zainstalować nowy procesor lub płytę główną (lub obie)

Sprzęt komputerowy Oct 12, 2025

Więc chcesz nowego procesora. Zła wiadomość jest taka, że ​​prawdopodobnie będziesz potrzebować nowej płyty głównej (i może pamięci RAM), aby się z tym pogodzić. N..


30 poleceń głosowych, których możesz używać na PlayStation 4

Sprzęt komputerowy May 19, 2025

Sony PlayStation 4 ma polecenia głosowe, tak jak Xbox One . Po prostu nie są tak mocno reklamowane. Polecenia głosowe PS4 działają ze standardowym zestawem słuc..


Jak używać iPhone'a do nagrywania profesjonalnych filmów

Sprzęt komputerowy Jun 10, 2025

TREŚĆ NIENARUSZONA Tworzenie filmów na smartfonie zawsze było proste, ale najczęściej można się spodziewać, że jakość pogorszy się z powodu drgań obrazu, nieostrego ..


HTG recenzuje Philips Hue Lux: inteligentne żarówki pozbawione frustracji do całkowicie nowoczesnego domu

Sprzęt komputerowy Jun 10, 2025

TREŚĆ NIENARUSZONA Rynek inteligentnych żarówek rośnie wykładniczo wraz z nowymi modelami, a nawet firmami pojawiają się na lewo i prawo. Jednak dzisiaj przyjrzymy się ze..


Jak ustawić głośniki, aby zmaksymalizować wrażenia z kina domowego

Sprzęt komputerowy Jul 10, 2025

Niezależnie od tego, czy konfigurujesz głośniki komputerowe, czy złożony zestaw kina domowego, zrozumienie sztuki i nauki o kanałach głośnikowych i ich umiejscowieniu jest n..


6 rzeczy, których nie należy robić z dyskami SSD

Sprzęt komputerowy Jul 10, 2025

TREŚĆ NIENARUSZONA Dyski SSD różnią się od powszechnie stosowanych mechanicznych, magnetycznych dysków twardych. Wiele rzeczy wykonanych z typowymi mechanicznym..


Kategorie