Varför räknas datorer från noll?

Apr 16, 2025
Hårdvara
OBEHANDLAT INNEHÅLL


Att räkna från noll är en mycket vanlig praxis på många datorspråk, men varför? Läs vidare när vi utforskar fenomenet och varför det är så utbrett.

Dagens Fråga & Svar-session kommer till oss med tillstånd av SuperUser - en underavdelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Frågan

SuperUser-läsaren DragonLord är nyfiken på varför de flesta operativsystem och programmeringsspråk räknas från noll. Han skriver:

Datorer överensstämmer traditionellt med numeriska värden från noll. Till exempel börjar matriser i C-baserade programmeringsspråk från index noll.

Vilka historiska skäl finns för detta, och vilka praktiska fördelar har räkning från noll jämfört med räkning från en?

Varför verkligen? Så utbredd som praxis är, det finns säkert praktiska skäl för dess genomförande.

Svaret

SuperUser-bidragsgivaren Matteo erbjuder följande insikter:

Att räkna matriser från 0 förenklar beräkningen av minnesadressen för varje element.

Om en matris lagras på en viss position i minnet (det kallas adressen) kan varje elements position beräknas som

element (n) = adress + n * storlek_ av_elementet

Om du betraktar det första elementet som det första blir beräkningen

element (n) = adress + (n-1) * storlek_ av_elementet

Inte en enorm skillnad men det lägger till en onödig subtraktion för varje åtkomst.

Redigerad för att lägga till:

  • Användningen av matrisindex som förskjutning är inte ett krav utan bara en vana. Förskjutningen av det första elementet kan döljas av systemet och tas i beaktande vid tilldelning och referens av element.
  • Dijkstra publicerade en uppsats "Varför numreringen bör börja med noll" ( pdf ) där han förklarar varför att börja med 0 är ett bättre val. Att börja med noll möjliggör en bättre representation av intervall.

Om du vill fördjupa dig i svaret är Dijkstra-dokumentet en informativ läsning.


Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniskt kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här .

.post-innehåll .inmatningsfot

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


Hårdvara - Mest populära artiklar

Hur bra är VR under 2018? Är det värt att köpa?

Hårdvara May 3, 2025

OBEHANDLAT INNEHÅLL År 2018 är VR-headset bättre och billigare än de någonsin varit. De var överhypade och de har inte förvandlat världen, men de är riktigt coola leksak..


Hur man upptäcker en potentiell Crowdfunding-bluff eller flop

Hårdvara Apr 11, 2025

Projekt på Kickstarter, Indiegogo och andra crowdfunding-plattformar är mestadels på och upp, men det finns de som bara försöker tjäna pengar snabbt. Så här kan du upptäcka..


Så här installerar du Kodi på din Amazon Fire TV eller Fire TV Stick

Hårdvara Jul 5, 2025

OBEHANDLAT INNEHÅLL Om du har spenderat någon tid på att utforska digitalboxens programvaruscen har du troligtvis hört talas om Kodi. Kodi, som tidigare kallades XBMC, kan ut�..


Hur man parar ihop ett Bluetooth-headset med Android Wear

Hårdvara Mar 21, 2025

OBEHANDLAT INNEHÅLL Android Wear har förmågan att lagra musik på klockan för att lyssna på resande fot från din telefon. Men du behöver inte använda dess små små högta..


Hur du ångrar att skicka ett meddelande i Gmail-appen för iOS

Hårdvara Dec 6, 2024

OBEHANDLAT INNEHÅLL I mer än ett år nu har Gmail gjort det möjligt för dig ångra sändningen av ett e-postmeddelande . Den här funktionen var dock bara tillg..


Så här skickar du webbsidor från din smartphone eller surfplatta till Evernote

Hårdvara Apr 12, 2025

OBEHANDLAT INNEHÅLL Evernote är ett fantastiskt verktyg för att samla all information du bryr dig om på ett ställe. På skrivbordet kan du "klippa" webbsidor till Evernote me..


Allt du behöver veta om att använda ett MicroSD-kort med din Amazon Fire-surfplatta

Hårdvara Sep 25, 2025

OBEHANDLAT INNEHÅLL Amazons $ 50 Fire Tablet levereras endast med 8 GB lagringsutrymme, men det stöder också MicroSD-kort. Ett MicroSD-kort är ett billigt sätt att lägga til..


Vad är en eGPU och varför ska jag ha en?

Hårdvara Feb 5, 2025

OBEHANDLAT INNEHÅLL Tänk dig en perfekt värld där du kan köpa den tunnaste, lättaste och snyggaste bärbara datorn, men ändå få samma mängd spelhästkrafter som du kan f..


Kategorier