Saltar para o conteúdo

Zero à esquerda

Origem: Wikipédia, a enciclopédia livre.

Um zero à esquerda ou zero inicial é qualquer dígito 0 que vem antes do primeiro dígito diferente de zero em uma cadeia de números em notação posicional.[1] Por exemplo, o famoso identificador de James Bond, 007, tem dois zeros iniciais.[2] Quaisquer zeros que apareçam à esquerda do primeiro dígito diferente de zero (de qualquer número inteiro ou decimal) não afetam seu valor e podem ser omitidos (ou substituídos por espaços em branco) sem perda de informações.[3] Portanto, a notação decimal usual de números inteiros não usa zeros à esquerda, exceto para o próprio zero, que, de outra forma, seria denotado como uma cadeia vazia.[4] No entanto, em frações decimais estritamente entre -1 e 1, os zeros à esquerda entre o ponto decimal e o primeiro dígito diferente de zero são necessários para transmitir a magnitude de um número e não podem ser omitidos, enquanto os zeros à direita – zeros que ocorrem após o ponto decimal e após o último dígito diferente de zero – podem ser omitidos sem alterar o significado.

Geralmente, os zeros à esquerda são encontrados em visores digitais não eletrônicos ou em visores eletrônicos como os de sete segmentos, que contêm conjuntos fixos de dígitos. Esses dispositivos incluem contadores manuais, cronômetros, odômetros[5] e relógios digitais. Os zeros à esquerda também são gerados por muitos programas de computador mais antigos ao criar valores para atribuir a novos registros, contas e outros arquivos e, como tal, provavelmente são usados por sistemas de faturamento de serviços públicos, sistemas de informações de recursos humanos e bancos de dados governamentais. Muitas câmeras digitais e outros dispositivos de gravação de mídia eletrônica usam zeros à esquerda ao criar e salvar novos arquivos para que os nomes tenham o mesmo tamanho.

Os zeros à esquerda também estão presentes sempre que o número de dígitos é fixado pelo sistema técnico (como em um registro de memória), mas o valor armazenado não é grande o suficiente para resultar em um dígito mais significativo diferente de zero.[6] A operação de contagem de zeros à esquerda determina com eficiência o número de bits zero à esquerda em uma palavra de máquina.[7]

Um zero à esquerda aparece na roleta nos Estados Unidos, onde “00” é diferente de “0” (uma aposta em “0” não será ganha se a bola cair em “00” e vice-versa). Os esportes em que os competidores são numerados também seguem essa regra; um carro da Stock Car com o número “07” seria considerado diferente de um com o número “7”. Benito Santiago, um apanhador da Major League Baseball que usou o número 09 por vários anos, é o único jogador de uma liga esportiva profissional importante a usar um número de camisa com um zero à esquerda, sem contar vários que usaram o número 00 (ele usava o zero extra para evitar complicações com seus protetores de apanhador, permitindo que a alça traseira ficasse entre os números em vez de sobre um único dígito 9). Dennis Rodman solicitou o número 01 quando entrou para o Chicago Bulls (já que seu número 10 habitual já havia sido aposentado), mas a National Basketball Association o proibiu, e Rodman passou a usar o 91.[8]

Na maioria dos países, exceto nos Estados Unidos, os números entre 0 e 1, expressos como decimal, incluem um zero antes da vírgula decimal (por exemplo, 0.64 ou, em muitos países, 0,64), enquanto nos Estados Unidos esse zero é frequentemente omitido (.64).

Os zeros à esquerda são usados para fazer com que a ordem ascendente dos números corresponda à ordem alfabética: por exemplo, 11 vem alfabeticamente antes de 2, mas depois de 02. (Consulte, por exemplo, a ISO 8601.) No entanto, isso não funciona com números negativos, independentemente de os zeros à esquerda serem usados ou não: -23 vem em ordem alfabética depois de -01, -1 e -22, embora seja menor que todos eles.

Prevenção de erros

[editar | editar código-fonte]

Os zeros à esquerda em uma frase também diminuem a probabilidade de um leitor descuidado ignorar o ponto decimal. Por exemplo, na farmácia moderna, há uma convenção amplamente seguida de que os zeros iniciais antes de um decimal não devem ser omitidos de nenhuma dose ou valor de dosagem na prescrição de medicamentos (por exemplo, 0,2 mg deve ser usado, não 0,2 mg). Enquanto isso, os zeros finais são proibidos (por exemplo, deve-se usar 2 mg, e não 2,0 mg). Em ambos os casos, a intenção é evitar a leitura incorreta e a consequente dose errada em uma ou várias ordens de magnitude.[9]

Prevenção de fraudes

[editar | editar código-fonte]

Os zeros à esquerda também podem ser usados para evitar fraudes, preenchendo posições de caracteres que normalmente estariam vazias. Por exemplo, adicionar zeros à esquerda ao valor de um cheque (ou documento financeiro semelhante) torna mais difícil para os fraudadores alterar o valor do cheque antes de apresentá-lo para pagamento.

Zero como prefixo

[editar | editar código-fonte]

Um prefixo 0 é usado em C para especificar representações de strings de números octais, conforme exigido pelo padrão ANSI C para a função strtol() (que converte strings em inteiros longos) na biblioteca <stdlib.h>.[10] Muitas outras linguagens de programação, como Python, Perl, Ruby, PHP e o Bash do Unix, também seguem essa especificação para converter strings em números. Por exemplo, “0020” não representa 2010 (2×101 + 0×100), mas sim 208 = 1610 (2×81 + 0×80 = 1×101 + 6×100). Os números decimais escritos com zeros à esquerda serão interpretados como octal por linguagens que seguem essa convenção e gerarão erros se contiverem “8” ou “9”, pois esses dígitos não existem em octal. Esse comportamento pode ser um incômodo ao trabalhar com sequências de cadeias de caracteres com números decimais incorporados e com zeros (normalmente nomes de arquivos) para facilitar a classificação alfabética (veja acima) ou ao validar entradas de usuários que não sabem que a adição de um zero inicial aciona essa conversão de base.

Referências

  1. Miller, Jane E. (15 de abril de 2008). The Chicago Guide to Writing about Numbers (em inglês). [S.l.]: University of Chicago Press 
  2. Lafore, Robert (Robert W. ); Waite Group (1987). Microsoft C : programming for the IBM. Internet Archive. [S.l.]: Indianapolis, Ind. : H.W. Sams 
  3. Zegarelli, Mark (28 de fevereiro de 2014). Basic Math and Pre-Algebra Workbook For Dummies (em inglês). [S.l.]: Wiley 
  4. Flynt, Clif (7 de fevereiro de 2012). Tcl/Tk: A Developer's Guide (em inglês). [S.l.]: Elsevier 
  5. Dueck, Robert; Reid, Ken (19 de setembro de 2011). Digital Electronics (em inglês). [S.l.]: Cengage Learning 
  6. Kuc, Roman (1999). The digital information age : an introduction to electrical engineering. Internet Archive. [S.l.]: Boston : PWS Pub. Co. 
  7. Dandamudi, Sivarama P. (6 de dezembro de 2005). Guide to RISC Processors: for Programmers and Engineers (em inglês). [S.l.]: Springer Science & Business Media 
  8. «Joining Bulls `Almost Like A Storybook' For Former Collins Prep Brown - tribunedigital-chicagotribune». web.archive.org. 4 de junho de 2015. Consultado em 31 de maio de 2024 
  9. Davis, Neil M. Medical Abbreviations: 26,000 Conveniences at the Expense of Communication and Safety. [S.l.: s.n.] ISBN 0931431123 
  10. Kernighan, Brian; Ritchie, Dennis M. (1988). The C Programming Language. Englewood Cliffs: Prentice Hall. p. 252. ISBN 0-13-110362-8