Re:Zero Codexery

Zero's Ring

Una convenzione di numerazione in cui al primo elemento viene assegnato l'indice 0.

La numerazione a base zero è un modo di numerare in cui all'elemento iniziale di una sequenza viene assegnato l'indice 0, anziché l'indice 1 come è tipico nelle circostanze quotidiane non matematiche o non programmistiche. Con la numerazione a base zero, l'elemento iniziale è talvolta chiamato elemento zero, invece che primo elemento; 'zero' è un termine coniato per il numero ordinale zero. In alcuni casi, un oggetto o valore che non appartiene (originariamente) a una data sequenza, ma che potrebbe essere naturalmente collocato prima del suo elemento iniziale, può essere definito elemento zero. Non esiste un ampio consenso riguardo alla correttezza dell'uso di zero come ordinale (né riguardo all'uso del termine 'zero'), poiché crea ambiguità per tutti gli elementi successivi della sequenza in assenza di contesto.

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

Contesto e storia

Numerare le sequenze a partire da 0 è piuttosto comune nella notazione matematica, in particolare in combinatoria, sebbene i linguaggi di programmazione per la matematica di solito indicizzino a partire da 1. Nell'informatica, gli indici degli array di solito iniziano da 0 nei linguaggi di programmazione moderni, quindi i programmatori potrebbero usare 'zero' in situazioni in cui altri userebbero 'primo', e così via. In alcuni contesti matematici, la numerazione a base zero può essere usata senza confusione, quando le forme ordinali hanno un significato ben consolidato con un candidato ovvio che viene prima del primo; ad esempio, una derivata zero di una funzione è la funzione stessa, ottenuta derivando zero volte. Tale uso corrisponde a nominare un elemento che non appartiene propriamente alla sequenza ma la precede: la derivata zero non è affatto una derivata. Tuttavia, proprio come la derivata prima precede la derivata seconda, così anche la derivata zero (o la funzione originale stessa) precede la derivata prima.

Guida alla lettura

Questo uso deriva da scelte progettuali incorporate in molti linguaggi di programmazione influenti, tra cui C, Java e Lisp. In questi tre, i tipi di sequenza (array C, array e liste Java, e liste e vettori Lisp) sono indicizzati a partire dal pedice zero. In particolare in C, dove gli array sono strettamente legati all'aritmetica dei puntatori, ciò semplifica l'implementazione: il pedice si riferisce a un offset dalla posizione iniziale di un array, quindi il primo elemento ha un offset di zero. Fare riferimento alla memoria tramite un indirizzo e un offset è rappresentato direttamente nell'hardware del computer su praticamente tutte le architetture informatiche, quindi questo dettaglio progettuale in C rende la compilazione più facile, a scapito di alcuni fattori umani. In questo contesto, usare 'zero' come ordinale non è strettamente corretto, ma è un'abitudine diffusa in questa professione. Alcuni linguaggi di programmazione, come Fortran o COBOL, hanno pedici di array che iniziano con uno, perché erano pensati come linguaggi di programmazione di alto livello, e come tali dovevano avere una corrispondenza con i soliti numeri ordinali che precedono di gran lunga l'invenzione dello zero. E alcuni linguaggi di programmazione, ad esempio Ada, ALGOL 60, PL/I, consentono un limite inferiore arbitrario per ogni indice. Pascal consente che l'intervallo di un array sia di qualsiasi tipo ordinale (inclusi i tipi enumerati) e Ada consente qualsiasi sottotipo discreto. APL consente di impostare l'origine dell'indice a 0 o 1 durante il runtime in modo programmatico. Alcuni linguaggi più recenti, come Lua e Visual Basic, hanno adottato la stessa convenzione per lo stesso motivo. Zero è il valore intero senza segno più basso, uno dei tipi più fondamentali nella programmazione e nella progettazione hardware. Nell'informatica, lo zero è quindi spesso usato come caso base per molti tipi di ricorsione numerica. Dimostrazioni e altri tipi di ragionamento matematico nell'informatica spesso iniziano da zero. Per questi motivi, nell'informatica non è insolito numerare da zero piuttosto che da uno. Se un array viene utilizzato per rappresentare un ciclo, è conveniente ottenere l'indice con una funzione modulo, che può risultare in zero.

Lo sapevi?

More in Poteri e Manufatti

Elsewhere in Re:Zero

Hai notato un errore?

Le correzioni dei lettori finiscono direttamente nella nostra coda di revisione. Suggerisci una modifica · Come viene documentato questo sito

Commenti

Caricamento…
Apri nel codex interattivo →