Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/06/2010, 07:56
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: problema ejercicio division

Cita:
Iniciado por AlanChavez Ver Mensaje
Sin embargo, si divido 5/4 , 3/2, 24/7, etc...
la variable div, tendra un desbordamiento ya que el resultado es de coma flotante y la tienes declarada como entera.
Esto no es tan cierto.
En C existe clausura. Si divides 2 enteros, el resultado es entero. El resultado no depende del tipo de la variable a la que asignas el resultado.

Es cierto que si deseas el resultado float deberias hacer cambios en el programa.
Una parte de la solucion es definir div como float, pero no es suficiente. Para lograr el resultado float, los operandos, al menos 1 de ellos tiene que ser float. Lo logras haciendo un cast.

float div;
...

div = num1 / num2; // <-- resultado entero convertido a float, resultado no exacto


div = (float) num1 / num2; // convierte num1 a float antes de dividir

div = num1 / (float) num2; // convierte num2 a float antes de dividir

div = (float) num1 / (float) num2; // convierte num1 y num2 a float antes de dividir