Zero's Ring
Uma convenção de numeração onde o primeiro elemento recebe o índice 0.
A numeração baseada em zero é uma forma de numeração na qual o elemento inicial de uma sequência recebe o índice 0, em vez do índice 1, como é típico em situações cotidianas não matemáticas ou não relacionadas à programação. Na numeração baseada em zero, o elemento inicial é às vezes chamado de elemento zero, em vez de primeiro elemento; 'zero' é uma palavra cunhada para o número ordinal zero. Em alguns casos, um objeto ou valor que não pertence (originalmente) a uma determinada sequência, mas que poderia ser naturalmente colocado antes de seu elemento inicial, pode ser chamado de elemento zero. Não há um amplo acordo sobre a correção do uso de zero como ordinal (nem sobre o uso do termo 'zero'), pois isso cria ambiguidade para todos os elementos subsequentes da sequência quando falta contexto.
- 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
Contexto e história
Numerar sequências começando em 0 é bastante comum na notação matemática, em particular na combinatória, embora as linguagens de programação para matemática geralmente indexem a partir de 1. Na ciência da computação, os índices de array geralmente começam em 0 nas linguagens de programação modernas, então programadores de computador podem usar 'zero' em situações onde outros usariam 'primeiro', e assim por diante. Em alguns contextos matemáticos, a numeração baseada em zero pode ser usada sem confusão, quando as formas ordinais têm um significado bem estabelecido com um candidato óbvio para vir antes do primeiro; por exemplo, uma derivada de ordem zero de uma função é a própria função, obtida ao derivar zero vezes. Tal uso corresponde a nomear um elemento que não pertence propriamente à sequência, mas que a precede: a derivada de ordem zero não é realmente uma derivada. No entanto, assim como a primeira derivada precede a segunda derivada, a derivada de ordem zero (ou a própria função original) precede a primeira derivada.
Guia do leitor
Este uso decorre de escolhas de design incorporadas em muitas linguagens de programação influentes, incluindo C, Java e Lisp. Nestas três, os tipos de sequência (arrays em C, arrays e listas em Java, e listas e vetores em Lisp) são indexados começando com o subscrito zero. Particularmente em C, onde arrays estão intimamente ligados à aritmética de ponteiros, isso torna a implementação mais simples: o subscrito se refere a um deslocamento da posição inicial de um array, então o primeiro elemento tem um deslocamento de zero. Referenciar memória por um endereço e um deslocamento é representado diretamente no hardware do computador em praticamente todas as arquiteturas de computador, então esse detalhe de design em C facilita a compilação, ao custo de alguns fatores humanos. Neste contexto, usar 'zero' como ordinal não é estritamente correto, mas é um hábito difundido nesta profissão. Algumas linguagens de programação, como Fortran ou COBOL, têm subscritos de array começando com um, porque foram concebidas como linguagens de programação de alto nível e, como tal, precisavam ter uma correspondência com os números ordinais usuais, que antecedem em muito a invenção do zero. E algumas linguagens de programação, por exemplo, Ada, ALGOL 60, PL/I, permitem um limite inferior arbitrário para cada índice. Pascal permite que o intervalo de um array seja de qualquer tipo ordinal (incluindo tipos enumerados) e Ada permite qualquer subtipo discreto. APL permite definir a origem do índice como 0 ou 1 durante a execução programaticamente. Algumas linguagens mais recentes, como Lua e Visual Basic, adotaram a mesma convenção pela mesma razão. Zero é o menor valor inteiro sem sinal, um dos tipos mais fundamentais em programação e design de hardware. Na ciência da computação, zero é frequentemente usado como caso base para muitos tipos de recursão numérica. Provas e outros tipos de raciocínio matemático na ciência da computação geralmente começam com zero. Por essas razões, na ciência da computação não é incomum numerar a partir de zero em vez de um. Se um array é usado para representar um ciclo, é conveniente obter o índice com uma função módulo, que pode resultar em zero.
Você sabia?
- A numeração baseada em zero atribui ao elemento inicial de uma sequência o índice 0, em vez do índice 1, como é típico em situações cotidianas não matemáticas.
- O termo 'zero' é uma palavra cunhada para o número ordinal zero, e não há um amplo acordo sobre sua correção.
- Martin Richards, criador da linguagem BCPL (um precursor do C), projetou arrays iniciando em 0 porque o valor de um ponteiro p usado como endereço acessa a posição p + 0 na memória.
- Edsger W. Dijkstra argumentou em 1982 que os subscritos de array deveriam começar em zero, pois isso representa sequências vazias de forma mais natural e faz com que o comprimento de uma subsequência seja igual ao limite superior menos o inferior.
- Algumas linguagens de programação como Fortran e COBOL têm subscritos de array começando com um porque foram concebidas para corresponder aos números ordinais usuais, que antecedem a invenção do zero.
More in Poderes e Artefatos
Elsewhere in Re:Zero
Viu um erro? Sabe mais?
Correções de leitores vão direto para nossa fila de revisão. Sugerir uma correção · Como este site é referenciado
