Je pense que ceci a déjà été couvert précédemment par "prof.dr. Edsger W. Dijkstra" - Burroughs Research Fellow dans une lettre datée du 11 août 1982 : voir EWD831
Intitulé : Pourquoi la numérotation devrait commencer à zéro. "Y a-t-il des raisons de préférer une convention à une autre ? Oui, il y en a...."
Notez également que Dijkstra faisait partie de l'équipe de conception d' ALGOL 68 jusqu'en 1968. Algol68 permet des tableaux à partir de 0, 1 ou de tout autre nombre que le programmeur juge approprié pour l'algorithme. voir ("La création d'Algol 68" raconte ' “Pouvez-vous définir des tableaux triangulaires ?” quelqu'un (Tony Hoare ?) interrompit. “Pas seulement triangulaire, mais même elliptique” répondit Aad, et montra comment. ')
Plus précisément, en Algol68, lorsque les tableaux (et les matrices) sont tranchés, ils obtiennent un index @1, ce qui favorise les tableaux [1:...]. Mais le premier indice peut être déplacé pour commencer à la position "0" en spécifiant "@0", par exemple vecteur x[4:99@2], matrice y[4:99@1,4:99@0]. De même, il y a un défaut/favoritisme de 1 dans les boucles de ~ à (à moins que "à partir de 0" ne soit explicitement indiqué), et d'1 pour les cas entiers case i dans ~,~,~ fin de cas et des clauses de choix $c(~,~,~)$ choice.
Il semble que les commentaires de Dijkstra sur le Rapport de Mars 1968 (MR93 ) et ses insistance aient provoqué ce qui est probablement une pré-usenet guerre de mots : "il existe des écrits qui sont aimables bien qu'ils soient incorrects, et il y a d'autres écrits qui sont extrêmement corrects, mais qui sont dégoûtants. C'est quelque chose que je ne peux expliquer à des personnes superficielles." EWD230
Le Rapport Final d'Algol 68(RF) est sorti le 20 décembre 1968 lorsqu'il a été présenté à la Réunion de Munich puis adopté par le Groupe de Travail. Ensuite, le rapport a été approuvé par l'Assemblée Générale de l'UNESCO IFIP pour publication.
Aux alentours du 23 décembre (?) 1968 Dijkstra, Duncan, Garwick, Hoare, Randell, Seegmuller, Turski, Woodger et Garwick ont signé le AB31.1.1.1 "Minority Report", page 7 (Publié en 1970).
19 votes
Opinion de Dijkstra
3 votes
Parce que les ordinateurs utilisent un système numérique en base 2.
9 votes
Il y a eu plus de quelques exemples de langages informatiques qui utilisaient des tableaux d'origine 1.
1 votes
(Et les ordinateurs qui comptent en décimal, en octal, par 3, par 100, etc.)
1 votes
J'espère que DL ne posera pas de questions sur les erreurs de point flottant et d'arrondi ensuite.
23 votes
Pourquoi les humains ne comptent-ils pas à partir de 0?
0 votes
@Untitled Tout à fait d'accord. Le premier nombre naturel est zéro, car il est tout à fait acceptable de ne rien avoir en réalité. Et les opérations sont simplifiées.
50 votes
Woah, woah, personne ne compte à partir de zéro, nous indexons à partir de zéro. Personne ne dit l'élément "zéroième". Nous disons l'élément "premier" à l'index 0. Pensez à l'index comme à la distance à laquelle un élément est décalé de la première position. Eh bien, le premier élément est à la première position, donc il n'est décalé d'aucun, donc son index est 0. Le deuxième élément a un élément avant lui, donc il est décalé d'1 élément et est à l'index 1.
5 votes
C'est pour la même raison que les années du XXe siècle sont toutes sous la forme 19xx. Dans le 1er siècle, la colonne des "milliers" et des "centaines" était de zéro. Dans la 1ère décennie, c'étaient les "dizaines". Alors que la 1ère année pourrait être appelée "Année 1", elle commence à la position zéro.
16 votes
@Ramhound Non, ce n'est pas le cas. L'indexation à partir de zéro n'a rien à voir avec l'utilisation du binaire.
4 votes
Avant les ordinateurs, il y avait les mathématiques. En mathématiques, les choses commencent à 0. Mon professeur d'algèbre abstraite affirmait que l'horloge devrait avoir un 0 au lieu d'un 12, car c'est une interface mod 12.
0 votes
@PeterOlson - Je ne suis pas d'accord avec toi.
2 votes
@Sans titre: Nous comptons à partir de 0. Parce que si vous avez un seul article, nous arrivons à 1, donc avant d'avoir un article, nous avions 0.
0 votes
@Walkerneo Précisément. Oliver Salzburg : Il n'y avait rien à compter avant le premier élément.
0 votes
Les humains commencent à compter à partir de zéro. Combien de doigts ai-je levés ? (Poing fermé). Zéro. Pour compter, vous commencez par zéro. Ensuite, si des éléments ou des événements d'intérêt se produisent, vous incrémentez une fois pour chacun d'eux. La valeur résultante est le compte. Compter doit inclure la possibilité que rien ne soit compté, sinon cela est cassé.
0 votes
Les axiomes de Peano énoncent simplement que l'ensemble des nombres naturels a un élément appelé "un" tel qu'il n'existe pas de nombre naturel n tel que le successeur de n soit un. Vous pouvez choisir le symbole pour représenter l'élément "un" à votre guise. Si vous le souhaitez, cela peut être -10 ou la lettre 'a'.
0 votes
Voici une autre stupidité, grâce aux musiciens (ivre). Une gamme de sept notes est appelée une octave! Bien sûr, comptons C deux fois, pourquoi pas. D'accord, nous avons sept et huit jusqu'à présent. Ensuite, les intervalles sont basés sur un, donc nous avons une règle de neuf pour l'inversion : invertir un tierce et vous obtenez (9 - 3) sixte. Hourra! Trois nombres pour traiter quelque chose de plus simple. Sous l'intervalle basé sur zéro, nous avons des septaves (ou heptaves). Et un intervalle est inversé en soustrayant de 7. Sept notes, septaves, règle de sept.
0 votes
Je me rappelle que l'IBM 650, un ordinateur précoce relativement populaire, utilisait un stockage de données bi-quinaire. Pensez à l'abacus.
0 votes
@DragonLord Cet article peut être utile howtogeek.com/149225/why-do-computers-count-from-zero