"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que subtrair '0' de um caractere revela seu valor numérico em C?

Por que subtrair '0' de um caractere revela seu valor numérico em C?

Publicado em 2024-12-21
Navegar:436

Why Does Subtracting '0' from a Character Reveal its Numeric Value in C?

Decodificando valores de caracteres: por que subtrair '0' divulga a representação numérica

Surge uma pergunta intrigante: por que subtrair '0' de um caractere em C revela o valor numérico que ele representa?

Para desvendar esse enigma, vamos nos aprofundar no reino do ASCII (American Standard Code para Intercâmbio de Informações), que atribui códigos numéricos a cada caractere. '0' mantém a primeira posição nesta sequência numérica, com caracteres subsequentes atribuídos de forma incremental a valores mais altos.

Por exemplo, '9' representa o valor numérico 57, enquanto '0' corresponde a 48. Ao subtrair '0 ' de um caractere, calculamos essencialmente a diferença entre seu código ASCII e o código ASCII de '0'.

Considere o exemplo: char c = '9'; int x = (int)(c - '0');
Aqui, '9' tem um código ASCII de 57. Subtrair '0' (que tem um código ASCII de 48) resulta em 57 - 48 = 9, que é precisamente o valor numérico representado por '9'.

A tabela ASCII a seguir ilustra melhor isso conceito:

CaracterASCII Código
'0'48
'1'49
'9'57

Por subtraindo '0' de qualquer caractere, podemos decodificar efetivamente o valor numérico que ele representa, uma técnica comumente empregada em várias aplicações de programação.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3