Miksi tietokoneet laskevat nollasta?

Apr 16, 2025
Laitteisto
SÄHKÖISETTÖTÖN SISÄLTÖ


Nollasta laskeminen on hyvin yleinen käytäntö monilla tietokonekielillä, mutta miksi? Lue, kun tutkimme ilmiötä ja miksi se on niin yleistä.

Tämän päivän Kysymys- ja vastausistunto tulee meille SuperUser-yhteisöstään, joka on Stack Exchangen osasto.

Kysymys

SuperUser-lukija DragonLord on utelias, miksi useimmat käyttöjärjestelmät ja ohjelmointikielet laskevat nollasta. Hän kirjoittaa:

Tietokoneet vastaavat perinteisesti numeerisia arvoja nollasta alkaen. Esimerkiksi C-pohjaisten ohjelmointikielien taulukot alkavat indeksistä nolla.

Mitä historiallisia syitä tähän on, ja mitä käytännön etuja nollasta laskemisella on verrattuna yhteen?

Miksi todellakin? Niin laajaa kuin käytäntö onkin, sen toteuttamiselle on varmasti käytännön syitä.

Vastaus

SuperUser-avustaja Matteo tarjoaa seuraavat oivallukset:

Taulukoiden laskeminen nollasta yksinkertaistaa kunkin elementin muistiosoitteen laskemista.

Jos taulukko on tallennettu tiettyyn muistin kohtaan (sitä kutsutaan osoitteeksi), kunkin elementin sijainti voidaan laskea

elementti (n) = osoite + n * elementin koko

Jos pidät ensimmäistä elementtiä ensimmäisenä, laskennasta tulee

elementti (n) = osoite + (n-1) * elementin koko

Ei suuri ero, mutta se lisää tarpeettoman vähennyksen jokaiselle pääsylle.

Muokattu lisäämään:

  • Taulukkoindeksin käyttö offsetina ei ole vaatimus, vaan vain tapa. Ensimmäisen elementin siirtymän voi piilottaa järjestelmä ja se voidaan ottaa huomioon allokoitaessa ja viitattaessa.
  • Dijkstra julkaisi paperin "Miksi numeroinnin pitäisi alkaa nollasta" ( pdf ), jossa hän selittää, miksi nollasta alkaminen on parempi valinta. Aloittaminen nollasta sallii alueiden paremman esityksen.

Jos haluat syventää vastausta, Dijkstra-artikkeli on informatiivinen lukutaito.


Onko sinulla jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta teknisesti taitavilta Stack Exchangen käyttäjiltä? Katso koko keskusteluketju täältä .

.entry-sisältö .entry-alatunniste

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


Laitteisto - Suosituimmat artikkelit

Kuinka taistella koronavirusta vastaan ​​Folding @ home ja pelitietokone

Laitteisto Mar 20, 2026

CDC / NVIDIA Haluatko auttaa taistelussa uutta koronavirusta vastaan? Voit laittaa tietokoneesi grafiikkaprosessorin toimimaan Folding @ home-sovelluksen kans..


Onko syytä päivittää Pixel 2: een?

Laitteisto Oct 4, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ No, päivä on vihdoin täällä: päivä, jonka Google toi esiin uusimmat Pixel-puhelimensa. Vaikka mikään tänään ilmoitetuista ei ollut erityis..


ConnectSense Smart -liitännän asentaminen

Laitteisto May 25, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Jos pidät älykkäiden myyntipisteiden ideasta, mutta toivot, että sinulla olisi yksi, jossa on enemmän kuin vain yksi astia, ConnectSense ..


Ero Belkinin WeMo-kytkimen ja WeMo Insight -kytkimen välillä

Laitteisto Jun 20, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Belkinin WeHo-älykoti-tuotevalikoiman avulla on helppo tehdä melkein mistä tahansa älykäs laite. Mutta jos et ole varma, mikä ero on WeM..


Android-tehdasasetusten palauttaminen

Laitteisto Apr 29, 2025

Jokaisen käyttäjän elämässä tulee aika, jolloin käyttäjän on palautettava jokin tehdasasetuksiinsa. Ehkä laite toimii röyhkeästi ja tarvitsee uuden alun, olet pääsemä..


Kuinka saada ilmoituksia melkein mistä tahansa tuotteesta Slickdealsilla

Laitteisto Apr 6, 2025

On niin paljon tarjouksia, jotka tulevat esiin joka päivä, että voi olla todella vaikeaa pysyä mukana kaikissa. Mutta on helppo tapa seurata vain sinua kiinnostavia tuotteita ja..


Mitä sanoit: Kuinka palautat kadonneen tekniikan

Laitteisto Sep 13, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Aikaisemmin tällä viikolla pyysimme sinua jakamaan suosikkitrikkejäsi pitääkseen varusteesi eksymästä ja saamasta sitä takaisin, jos se katoaa..


Kysy HTG: ltä: Android-versiot, samanaikainen kuulokkeiden ja kaiuttimien ääni sekä iPad-tiedostojen lataaminen

Laitteisto Jun 6, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Joka viikko kastamme lukijapostilaukkuun vastaamaan kiireellisiin teknisiin kysymyksiisi. Tällä viikolla tarkastelemme, kuinka voit tarkistaa Androi..


Luokat