el ejemplo bajo la misma premisa.<br><br>int a, b, c, d;<br>float r,s ,t;<br><br>b=123;<br>r=100.345656;<br>d = r + b;------sumar<br>cout<<d<<endl;<br><br>Resultado.  -------->  223<br><br>el analisis.<br>"b" es un "int" mientras no se haga una conversion.<br>
"r" es un "float"mientras no se haga una conversion.<br>cuando se realiza una operacion como esto<br>d = r + b;  -----------> se esta diciendo----- ><br> "float + int" <br><br>para que el compilador pueda  realizar esta operacion ambas sumando tienen que tener el mismo tamaño es por eso que "b" se convierte en float solo para esta operacion de suma, terminada esta operacion "b" sigue siendo int.<br>
<br>terminada la operacion "r+b" el resultado es un float..<br>r + b =float<br>y como "d" es un int, el compilador realiza la conversion de ese float en int para que el resultado que se desea no se altere.<br>
<br>en suma hay 4 esenarios<br>1.- la "declaracion" donde "d y b" son int y "r" es float<br>2.- la "la operacion de suma" donde "b" se convierte en float para sumarlo a r<br>
3.- la "finalizacion de operacion" "r+b" es float y se convierte en int para poder darle el valor a "d" que es int.<br>4.- la "salida" donde "r" sigue siendo float; "b" vuelve a ser int, y "d" sigue siendo int.<br>
<br><br><br><div class="gmail_quote">El 9 de septiembre de 2010 08:32, Salvador Pozo <span dir="ltr"><<a href="mailto:salvador@conclase.net">salvador@conclase.net</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
El pasado 2010-09-09 12:44:40, mai escribió:<br>
<br>
m> Buenos días,<br>
m> en el cápitulo 9, se habla de las conersiones y pone el siguiente ejemplo:<br>
m> int a, b, c, d;<br>
m> float r,s ,t;<br>
m> d = r + b; --> indica que b se convierte a float. Ahora bién que pasa con<br>
m> "d" que era int. ¿Sigue siendo int y se pierde información o cambia a float?<br>
<br>
Hola:<br>
<br>
Un poco más abajo se explica eso, aunque me olvidé de mencionar esa línea.<br>
<br>
La promoción también se aplica en las asignaciones. Cuando la conversión no supone una pérdida de información (promoción) se realiza de forma automática.<br>
<br>
Si como en este caso, se hay pérdida de información (democión), el compilador emite un aviso, un "warning".<br>
<br>
main.cpp|9|warning: converting to `int' from `float'|<br>
<br>
En ningún caso se modifica el tipo de la variable. "d" es un "int", y ningún valor que le asignemos puede cambiar eso.<br>
<br>
Hasta pronto.<br>
<font color="#888888"><br>
--<br>
Salvador Pozo (Administrador)<br>
mailto:<a href="mailto:salvador@conclase.net">salvador@conclase.net</a><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>
</font></blockquote></div><br><br clear="all"><br>-- <br>Atte.<br>_______________________________<br><br><br>_______________________________<br><br><div style="text-align: center; color: rgb(0, 102, 0); font-family: trebuchet ms,sans-serif;">
<i><b>Antes de imprimir este mensaje, asegúrese de que sea necesario. Proteger el medio ambiente está en nuestras manos. <br>Before you print this message, make sure it is necessary. It is in our hands to protect our environment.</b><br>
</i></div><br>