¿'A' y '0' siempre tienen valores positivos incluso si char está firmado?
Dependiendo del entorno y la configuración del compilador, el tipochar
se puede firmar o no de forma predeterminada, lo que significa que el rango de valores para las constantes de un solo carácter en los sistemas complementarios de 2 bits de 8 bits puede ser-128..127
o0..255
.
En el conjunto de caracteres ASCII omnipresente, sus extensiones ISO-8859-X o la codificación UTF-8, las letras mayúsculas y minúsculas, así como los dígitos tienen valores inferiores a 127.
Pero ese no es el caso con elConjunto de caracteres EBCDIC:
'A'
es 0xC1,'a'
es 0x81 y'1'
es 0xF1.
Dado que estos valores están por encima de 127, ¿significa el tipochar
debe estar sin firmar en sistemas EBCDIC de 8 bits? O puede'a'
, 'A'
y'1'
tener valores negativos?
¿Qué pasa con otros conjuntos de caracteres? ¿Pueden las letras o dígitos tener valores negativos?