| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
gushynet Cdt

Registrado: 14 Nov 2002Mensajes: 18
|
Publicado: Sab 23 Ago, 2003 1:34 am Asunto: dias extraños con un char |
|
|
Hola a todos, como el titulo del mensaje indica tengo un pequeño problemilla el cual no llego a comprender, me explico:
tengo el siguiente codigo:
Letra = 209;
cont = Letra;
en el asigno a la variable Letra de tipo char la letra 'Ñ' cuyo codigo es 209. A continuacion asigno ese valor a la variable cont pero al comprobar su contenido resulta que tiene -46 cuando, hasta donde llego a comprender, deberia tener 209.
Si alguien me ayudara a comprender la razon de este resultado le estaria muy agradecido, ya que estoy realizando una practica pero me niego a seguir avanzando en la practica hasta que sepa la razon de ser de esta situacion.
Gracias de antemano y un saludo a todos. |
|
| Volver arriba |
|
 |
gushynet Cdt

Registrado: 14 Nov 2002Mensajes: 18
|
Publicado: Sab 23 Ago, 2003 1:37 am Asunto: |
|
|
el valor que tiene cont no es -46 sino -47, un fallo tecnico por mi parte  |
|
| Volver arriba |
|
 |
Alejandro Invitado
|
Publicado: Sab 23 Ago, 2003 1:54 am Asunto: char |
|
|
Hola gushynet;
A ver...
Por defecto,
char Letra;
es de tipo "signed char" (caracter con signo), así que el primer bit de la Ñ(leyendo desde la izquierda) representa el signo negativo. Para utilizar un char mayor que 127, tendrías que declararlo como
unsigned char Letra;
También tendría que funcionar:
cont = (unsigned char) Letra;
Alejandro |
|
| Volver arriba |
|
 |
gushynet Cdt

Registrado: 14 Nov 2002Mensajes: 18
|
Publicado: Sab 23 Ago, 2003 6:36 pm Asunto: |
|
|
| gracias por la ayuda sabia que estaba cometiendo algun despiste pero ni siquiera pense en lo de los char sin signo, supuse que por defecto era justo lo contrario. |
|
| Volver arriba |
|
 |
|