Zero's Ring
Eine Nummerierungskonvention, bei der das erste Element den Index 0 erhält.
Die nullbasierte Nummerierung ist eine Nummerierungsweise, bei der das erste Element einer Sequenz den Index 0 erhält, anstelle des Index 1, wie es im alltäglichen, nicht-mathematischen oder nicht-programmiererischen Kontext üblich ist. Bei der nullbasierten Nummerierung wird das erste Element manchmal als nulltes Element bezeichnet, anstatt als erstes Element; „nullt“ ist ein Kunstwort für die Ordnungszahl Null. In einigen Fällen kann ein Objekt oder Wert, der (ursprünglich) nicht zu einer bestimmten Sequenz gehört, aber auf natürliche Weise vor ihrem ersten Element platziert werden könnte, als nulltes Element bezeichnet werden. Es besteht kein breiter Konsens über die Richtigkeit der Verwendung von Null als Ordnungszahl (noch über die Verwendung des Begriffs „nullt“), da dies ohne Kontext zu Mehrdeutigkeiten für alle nachfolgenden Elemente der Sequenz führt.
- Creator
- Satella (Witch of Envy)
- Primary user
- Subaru Natsuki
- First appearance
- Arc 1: The Beginning of the End
- Nature
- Cursed Artifact / Magical Seal
- Associated curse
- Return by Death
Hintergrund
Die Nummerierung von Sequenzen, die bei 0 beginnt, ist in der mathematischen Notation weit verbreitet, insbesondere in der Kombinatorik, obwohl Programmiersprachen für die Mathematik normalerweise ab 1 indizieren. In der Informatik beginnen Array-Indizes in modernen Programmiersprachen normalerweise bei 0, daher verwenden Computerprogrammierer möglicherweise „nullt“ in Situationen, in denen andere „erstens“ verwenden würden, und so weiter. In einigen mathematischen Kontexten kann die nullbasierte Nummerierung ohne Verwirrung verwendet werden, wenn Ordnungsformen eine etablierte Bedeutung mit einem offensichtlichen Kandidaten haben, der vor „erstens“ kommt; zum Beispiel ist eine nullte Ableitung einer Funktion die Funktion selbst, die durch nullmaliges Differenzieren erhalten wird. Eine solche Verwendung entspricht der Benennung eines Elements, das nicht wirklich zur Sequenz gehört, sondern ihr vorausgeht: Die nullte Ableitung ist eigentlich gar keine Ableitung. So wie jedoch die erste Ableitung der zweiten Ableitung vorausgeht, geht auch die nullte Ableitung (oder die ursprüngliche Funktion selbst) der ersten Ableitung voraus.
Leserleitfaden
Diese Verwendung folgt aus Designentscheidungen, die in vielen einflussreichen Programmiersprachen verankert sind, darunter C, Java und Lisp. In diesen drei werden Sequenztypen (C-Arrays, Java-Arrays und -Listen sowie Lisp-Listen und -Vektoren) beginnend mit dem Index Null indiziert. Insbesondere in C, wo Arrays eng mit der Zeigerarithmetik verbunden sind, ermöglicht dies eine einfachere Implementierung: Der Index bezieht sich auf einen Offset von der Startposition eines Arrays, sodass das erste Element einen Offset von Null hat. Der Zugriff auf den Speicher über eine Adresse und einen Offset wird auf praktisch allen Computerarchitekturen direkt in der Hardware dargestellt, sodass dieses Designdetail in C die Kompilierung erleichtert, auf Kosten einiger menschlicher Faktoren. In diesem Zusammenhang ist die Verwendung von „nullt“ als Ordnungszahl nicht streng korrekt, aber eine weit verbreitete Gewohnheit in diesem Beruf. Einige Programmiersprachen, wie Fortran oder COBOL, haben Array-Indizes, die mit Eins beginnen, da sie als höhere Programmiersprachen gedacht waren und als solche eine Entsprechung zu den üblichen Ordnungszahlen haben mussten, die lange vor der Erfindung der Null existierten. Und einige Programmiersprachen, z. B. Ada, ALGOL 60, PL/I, erlauben eine beliebige untere Grenze für jeden Index. Pascal erlaubt, dass der Bereich eines Arrays von jedem ordinalen Typ (einschließlich Aufzählungstypen) sein kann, und Ada erlaubt jeden diskreten Subtyp. APL erlaubt es, den Indexursprung während der Laufzeit programmatisch auf 0 oder 1 zu setzen. Einige neuere Sprachen wie Lua und Visual Basic haben aus demselben Grund dieselbe Konvention übernommen. Null ist der niedrigste vorzeichenlose ganzzahlige Wert, einer der grundlegendsten Typen in der Programmierung und im Hardware-Design. In der Informatik wird Null daher oft als Basisfall für viele Arten numerischer Rekursion verwendet. Beweise und andere Arten mathematischer Argumentation in der Informatik beginnen oft mit Null. Aus diesen Gründen ist es in der Informatik nicht ungewöhnlich, ab Null statt ab Eins zu nummerieren. Wenn ein Array zur Darstellung eines Zyklus verwendet wird, ist es praktisch, den Index mit einer Modulo-Funktion zu erhalten, die Null ergeben kann.
Wussten Sie schon?
- Die nullbasierte Nummerierung weist dem ersten Element einer Sequenz den Index 0 zu, anstelle des Index 1, wie es im alltäglichen, nicht-mathematischen Kontext üblich ist.
- Der Begriff „nullt“ ist ein Kunstwort für die Ordnungszahl Null, und es besteht kein breiter Konsens über seine Richtigkeit.
- Martin Richards, der Schöpfer der Sprache BCPL (ein Vorläufer von C), entwarf Arrays, die bei 0 beginnen, weil der Wert eines als Adresse verwendeten Zeigers p auf die Position p + 0 im Speicher zugreift.
- Edsger W. Dijkstra argumentierte 1982, dass Array-Indizes bei Null beginnen sollten, da dies leere Sequenzen natürlicher darstellt und die Länge einer Teilsequenz gleich der oberen minus der unteren Grenze macht.
- Einige Programmiersprachen wie Fortran und COBOL haben Array-Indizes, die mit Eins beginnen, da sie den üblichen Ordnungszahlen entsprechen sollten, die lange vor der Erfindung der Null existierten.
More in Kräfte & Artefakte
Elsewhere in Re:Zero
Fehler entdeckt? Mehr gewusst?
Leserkorrekturen landen direkt in unserer Überprüfungswarteschlange. Änderung vorschlagen · Wie diese Seite ihre Quellen bezieht
