<div dir="ltr"><div><div>Vamos a hacer el intento:<br><br></div>* Un long int utiliza 4 bytes (32 bits) y un short int 2 bytes (16 bits). <br><br>* De modo que si consideras una variable con signo como en este caso, el primet bits se utiliza para el signo (+ o -) y los otros 15 bits la magnitud o rango. Con estos 15 bits se pueden representar 2^15=32768. Este sería el mayor valor a partir de 1. Como necesitamos una para representar al cero y considerando que tenemos valores negativos y positivos, el rango para un un short int (dos bytes) va desde -32768 a 32767.<br>
<br></div><div>* Ahora, un int (normal) y un long int (que en este caso coinciden) utilizan 4 bytes (32 bits). Si se utiliza variables con signo, que es la opción por defecto, 1 bit se utiliza para el signo y los otros 31 para la magnitud del número. Con 31 bits tenemos 2^31=2147483648. Por lo tanto el rango para un long int es de -2147483648 a 2147483647.<br>
<br></div><div><br></div><div>Veamos el código<br>-------------------------<br></div><div> <b>long A= -459742</b>L;   // Esta en el rango de un long int <br><b>short int B=A</b>; // El contenido de A es muy grande para caber en una variable de tipo short int. Es como querer poner 14,030212402 litros en un envase de 1 litro. Pues llenamos 14 litros y nos queda la parte decimal 030212402 para poner en el envase numero 15. Ahora bien, esta parte decimal está dividido por 32768. Lo multiplicamos nuevamente y nos da el resto. (  030212402 *  32768) = 990 que es la magnitud del número. <br>
<b>printf("%d", B);</b><br>
------------------------<br><br></div><div>Bueno, espero que captes la idea. Ojo que no soy experto, soy un aficionado como muchos de la lista.<br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
El 4 de agosto de 2014, 21:54, Facundo Curti <span dir="ltr"><<a href="mailto:facu.curti@gmail.com" target="_blank">facu.curti@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
El día 4 de agosto de 2014, 18:56, Armando B. VERA <<a href="mailto:rdlmat@gmail.com">rdlmat@gmail.com</a>> escribió:<br>
<div><div class="h5">> En la respuesta anterior hay un error. Al dividir 459742 por 32762 el<br>
> cociente es 14 y el resto es 990. Confundí el procedimiento utilizado con lo<br>
> que realmente pretendía decir.<br>
><br>
><br>
> El 4 de agosto de 2014, 16:34, Armando B. VERA <<a href="mailto:rdlmat@gmail.com">rdlmat@gmail.com</a>> escribió:<br>
><br>
>> El long utiliza 4 bytes y el short 2 bytes, según el micro de mi<br>
>> ordenador.<br>
>> Con dos bytes, 16 bits(15 para el numero y 1 para el signo) se pueden<br>
>> representar 2^(15)=32762 (valor máximo que puedo representar con dos bytes<br>
>> con signo).<br>
>> Si hace esta operación: 459742/32762= 14 y resto  030212402.<br>
>> Si multiplicas el resto por 32762 obtener el número 990. que como es<br>
>> negativo queda -990.<br>
>><br>
>><br>
>><br>
>> El 4 de agosto de 2014, 9:35, Linda Laura <<a href="mailto:liindaa08@gmail.com">liindaa08@gmail.com</a>> escribió:<br>
>>><br>
>>> Que valor se vería en el siguiente segmento de programa?<br>
>>><br>
>>> long A= -459742L;<br>
>>> short int B=A;<br>
>>> printf("%d", B);<br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
>>> <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
>>> Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
>><br>
>><br>
><br>
</div></div>>¿Por que la division? ¿Y por que se usa el resto? o.O Podrias explicarlo porfas? :P Yo no era el de la consulta original, pero no entendí por que ese procedimiento :P<br>
<div class="HOEnZb"><div class="h5">> _______________________________________________<br>
> Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
> <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
> Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br></div>