Re:Zero Codexery

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?

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

Kommentare

Wird geladen…
Im interaktiven Codex öffnen →