Pourquoi les ordinateurs comptent-ils à partir de zéro?

Apr 16, 2025
Matériel
CONTENU NON CACHÉ


Compter à partir de zéro est une pratique très courante dans de nombreux langages informatiques, mais pourquoi? Continuez à lire pendant que nous explorons le phénomène et pourquoi il est si répandu.

La session de questions et réponses d’aujourd’hui nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement de sites Web de questions-réponses géré par la communauté.

The Question

Le lecteur SuperUser DragonLord est curieux de savoir pourquoi la plupart des systèmes d'exploitation et langages de programmation comptent à partir de zéro. Il écrit:

Les ordinateurs totalisent traditionnellement des valeurs numériques à partir de zéro. Par exemple, les tableaux dans les langages de programmation basés sur C commencent à partir de l'index zéro.

Quelles sont les raisons historiques à cela et quels avantages pratiques le comptage à partir de zéro présente-t-il par rapport au comptage à partir de un?

Pourquoi en effet? Aussi répandue que soit la pratique, il y a sûrement des raisons pratiques à sa mise en œuvre.

La réponse

Matteo, contributeur SuperUser, offre les informations suivantes:

Le comptage des tableaux à partir de 0 simplifie le calcul de l'adresse mémoire de chaque élément.

Si un tableau est stocké à une position donnée de la mémoire (on l'appelle l'adresse), la position de chaque élément peut être calculée comme

element (n) = adresse + n * size_of_the_element

Si vous considérez le premier élément comme le premier, le calcul devient

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

Pas une énorme différence mais cela ajoute une soustraction inutile pour chaque accès.

Modifié pour ajouter:

  • L'utilisation de l'index de tableau comme offset n'est pas une exigence mais juste une habitude. Le décalage du premier élément peut être masqué par le système et pris en compte lors de l'allocation et du référencement de l'élément.
  • Dijkstra a publié un article intitulé «Pourquoi la numérotation devrait commencer à zéro» ( pdf ) où il explique pourquoi commencer par 0 est un meilleur choix. Commencer à zéro permet une meilleure représentation des plages.

Si vous cherchez à approfondir la réponse, l'article de Dijkstra est une lecture informative.


Avez-vous quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange férus de technologie? Consultez le fil de discussion complet ici .

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


Matériel - Most Popular Articles

Qu'est-ce qu'un chargeur GaN et pourquoi en voudrez-vous un?

Matériel Jan 20, 2025

CONTENU NON CACHÉ Justin Duino Les chargeurs de nitrure de gallium (GaN) étaient partout à CES 2020 . Cette alternative moderne au siliciu..


Comment mettre à niveau et installer un nouveau processeur ou une nouvelle carte mère (ou les deux)

Matériel Oct 12, 2025

Vous voulez donc un nouveau processeur. La mauvaise nouvelle est que vous aurez probablement besoin d’une nouvelle carte mère (et peut-être de la RAM) pour l’accompagner. La p..


Comment (et quand) réinitialiser le SMC sur votre Mac

Matériel Jul 21, 2025

Votre Mac se comporte de manière amusante et vous avez tout essayé: redémarrer votre ordinateur, réinitialisation de la NVRAM , et toutes les astuces qui ..


Pourquoi l'encre d'imprimante est-elle si chère?

Matériel Sep 22, 2025

CONTENU NON CACHÉ L'encre d'imprimante est chère, plus chère par goutte que le champagne fin ou même le sang humain. Si vous n’avez pas abandonné le papier, vous remarquere..


Comment optimiser le flux d'air de votre maison pour économiser de l'argent sur votre climatisation

Matériel Jul 25, 2025

CONTENU NON CACHÉ De nombreux thermostats intelligents prétendent qu'ils peuvent vous faire économiser de l'argent sur vos factures de chauffage et de climatisation. En effet, ..


Oui, ce stockage supplémentaire est trop cher, mais vous devriez quand même le payer

Matériel Mar 28, 2025

C’est une leçon que beaucoup d’entre nous ont apprise à la dure. Oui, 100 $ sont trop chers pour une mise à niveau du stockage, mais cela en vaut toujours la peine. Les modè..


Comment transformer un Raspberry Pi en une machine Usenet toujours active

Matériel May 21, 2025

Nous vous avons récemment montré comment transformer votre Raspberry Pi en une boîte BitTorrent 24/7 pour économiser sur votre facture d'électricité et garder vos ratios de su..


À partir de la boîte de conseils: livraison gratuite avec Amazon Filler, réparation des câbles Ethernet et autocollants d'urgence

Matériel Mar 29, 2025

CONTENU NON CACHÉ Une fois par semaine, nous rassemblons quelques bons conseils de la boîte de conseils et les partageons avec tout le monde. Cette semaine, nous examinons des �..


Catégories