[C con Clase] Castings char, unsigned char, int y unsigned int

Yolmer Rosales yolmer.rosales en gmail.com
Dom Jun 29 16:20:24 CEST 2014


Hola según como yo lo veo el número máximo de char que es un byte será 127
por lo tanto estás desbordando y sigue contando desde el mínimo que debe
ser -128  entonce y te alcanza ese valor después le dices que es un entero
sin signo que son cuatro o más byte dependiendo de tu sistema y lo traduce.
no se si me explico bien


2014-06-28 20:56 GMT-04:30 Julio Cesar <ggeatom en gmail.com>:

> Buenas tardes a todos, ya estoy aquí de nuevo molestándolos, espero me
> puedan ayudar a entender un problema que tengo con estos castings en
> particular.
>
> La situación es, si yo tengo:
>
> int main(){
>    char let;
>    unsigned char let2:
>
>    let = (char)200;
>    let2 = (unsigned char)200;
>
>    cout << (int)let << endl << (unsigned int)let << endl << (int)let2 <<
> endl << (insigned int)let2 << endl;
>
> return 0;
> }
>
> el resultado es:
>
> -56
> 4294967240
> 200
> 200
>
> Entonces mi duda es sobre la primera y segunda impresion en
> pantalla"(int)let" y  "(unsigned int)let", en la segunda a que se debe que
> me arroje ese numero, ¿No deberia devolver 200 como en la cuarta impresion
> en pantalla?. Y en la primera, ¿Que no deberia devolver 200 como en la
> tercera?, pues segun yo el "binario" de de let y let2 es el mismo.
>
> Gracias por la ayuda y la atención prestada, que tengan buen día y
> disculpen tantas molestias ocasionadas.
>
> Julio Cesar
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20140629/b95d8fa2/attachment.html>


Más información sobre la lista de distribución Cconclase