Hvorfor tæller computere fra nul?

Apr 16, 2025
Hardware
UCACHED INDHOLD


At tælle fra nul er en meget almindelig praksis på mange computersprog, men hvorfor? Læs videre, når vi udforsker fænomenet, og hvorfor det er så udbredt.

Dagens spørgsmål og svar-session kommer til os med tilladelse fra SuperUser - en underinddeling af Stack Exchange, en community-driven gruppe af Q&A websteder.

Spørgsmålet

SuperUser-læser DragonLord er nysgerrig efter, hvorfor de fleste operativsystemer og programmeringssprog tæller fra nul. Han skriver:

Computere tæller traditionelt numeriske værdier, der starter fra nul. For eksempel starter arrays i C-baserede programmeringssprog fra indeks nul.

Hvilke historiske årsager eksisterer der for dette, og hvilke praktiske fordele har optælling fra nul i forhold til optælling fra en?

Hvorfor faktisk? Så udbredt som praksis er, er der helt sikkert praktiske grunde til dens implementering.

Svaret

SuperUser-bidragyder Matteo tilbyder følgende indsigter:

Tæller arrays fra 0 forenkler beregningen af ​​hukommelsesadressen for hvert element.

Hvis et array er gemt på en given position i hukommelsen (det kaldes adressen), kan hvert elements position beregnes som

element (n) = adresse + n * størrelse_af_elementet

Hvis du betragter det første element som det første, bliver beregningen

element (n) = adresse + (n-1) * størrelse_af_elementet

Ikke en enorm forskel, men det tilføjer en unødvendig subtraktion for hver adgang.

Redigeret for at tilføje:

  • Brugen af ​​matrixindekset som en forskydning er ikke et krav, men kun en vane. Forskydningen af ​​det første element kunne skjules af systemet og tages i betragtning ved tildeling og henvisning til element.
  • Dijkstra offentliggjorde et papir "Hvorfor nummerering skal starte ved nul" ( pdf ) hvor han forklarer, hvorfor start med 0 er et bedre valg. Start ved nul giver en bedre repræsentation af intervaller.

Hvis du ønsker at dykke dybere ned i svaret, er Dijkstra-papiret en informativ læsning.


Har du noget at tilføje til forklaringen? Lyder i kommentarerne. Vil du læse flere svar fra andre teknisk kyndige Stack Exchange-brugere? Tjek den fulde diskussionstråd her .

.indgangsindhold .indgangsfod

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


Hardware - Mest populære artikler

Skal du købe 13-tommer MacBook Pro (2020)?

Hardware May 7, 2025

Æble Apple har afsluttet Magic Keyboard-overgangen med en forvirrende opdatering til 13-tommer MacBook Pro. Der er nu i det væsentlige to nye versioner: en ..


Sådan rengøres og desinficeres alle dine gadgets

Hardware Mar 25, 2025

progressman / Shutterstock Uanset om du vil beskytte mod COVID-19 eller bare give alle dine gadgets en dyb rengøring, mens du sidder fast derhje..


Hvorfor har ny elektronik en underlig lugt?

Hardware May 24, 2025

Elnur / Shutterstock Så du har åbnet den nye telefon eller bærbare computer op for kun at blive mødt af en velkendt, plastisk lugt. Hvor komm..


Sådan deaktiveres autokorrektur til din iPads Bluetooth-tastatur

Hardware Jan 6, 2025

UCACHED INDHOLD De alt for klare funktioner, vi nyder, når vi bruger et skærmtastatur - som autokorrektioner og automatisk brug af store bogstaver - bliver hurtigt en hindring, ..


Sådan fremskyndes dit solid state-drev ved at justere dets partitioner igen

Hardware Sep 19, 2025

Hvis du har migreret dit operativsystem fra en mekanisk harddisk til en Solid State Drive , Partitionerne er muligvis ikke korrekt justeret. Dette kan resultere i lan..


Sådan tilsluttes en ekstern mikrofon til din GoPro

Hardware Sep 1, 2025

UCACHED INDHOLD Det meste af tiden vil din GoPro være fastgjort til en hjelm, bil, cykel eller andet stykke bevægende maskiner. Men hvis du vil fange bedre lyd og ikke har noget..


Sådan lytter du til lydbøger på Amazon Echo

Hardware Jul 12, 2025

Hvis du kan lide at læse, vil du sandsynligvis også nyde lydbøger, da de giver dig mulighed for at "læse" en bog, mens du laver andre ting. Sådan lytter du til lydbøger på Am..


Sådan oprettes genveje til programmer på USB-drev

Hardware Mar 28, 2025

UCACHED INDHOLD Hvis du arbejder på flere computere, bruger du sandsynligvis et USB-drev til at tage din foretrukne bærbare software med dig. Bærbare applikationssuiter som ..


Kategorier