Sigend/Unsigned

ivan
28 de Abril del 2006
Buenas. La verdad que estoy empezando a esudiar c++ con un maul. El q dice que algunas de las variables (como in o char) pueden se signed o unsigned. Pero mi duda es que es eso? Ya que no logro encontrar un lugar que me diga q cambia.
Gracias de antemano.
aludos

hiei
28 de Abril del 2006
signed/unsigned es un modificado aplicable a los tipos int y char (hay otros modificadores) pero lo que hacen es permitir que las variables guarden el signo (+/-) del numero. Como se usa un bit mas para el signo solo quedan los otros 7 (en un char) para reprecentar la cantidad, es por eso que con signed los char van de -128 (1111 1111 binario) a 127 (0111 1111 binario) por estar representado en complemento a dos.
Lo mismo pasa con el int pero esta vez con 16 bits (bueno, en algunos compiladores es 32 bits)

Otra cosa, si solo pones int o char se toma por defecto signed asi que no es necesario ponerlo... Para que sea sin signo (unsigned) debes declararlo explicitamente:
unsigned int a;
unsigned char b;

Saludos...

aleguerra
28 de Abril del 2006
man... el unsigned significa "sin signo" o sea..

el dato byte es de -256 a 255 (signed)
el unsigned byte es de 0 a 512 (ese es el unsigned)

Salu2

@lE