paulo1205
(usa Ubuntu)
Enviado em 12/11/2016 - 09:50h
Em C, caracteres individuais já são valores inteiros. Assim, você não precisa de uma conversão muito complexa.
A única “dificuldade” é que, por exemplo, o caráter
'0' tem um valor diferente do inteiro
0. Na tabela ASCII, o caráter
'0' tem o valor inteiro
48, o caráter
'1' vale
49, e assim por diante.
Se você tiver uma variável
c, do tipo
char (ou qualquer outro tipo inteiro), que contém um caráter numérico, e quiser saber o valor representado por aquele caráter (que é diferente da posição que ele ocupa na tabela de caracteres), basta você usar a seguinte expressão.
c-'0'
Essa expressão funciona para conjuntos de caracteres em que os caracteres que representam os algarismos estejam em posições contíguas na tabela de símbolos. É o caso no ASCII, Unicode e até mesmo no bizarro EBCDIC.