• Sábado 14 de Diciembre de 2024, 13:38

Autor Tema:  divisiones exactas  (Leído 2313 veces)

Alfonsos1

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
divisiones exactas
« en: Domingo 10 de Octubre de 2010, 23:05 »
0
nesesito que al hacer las cuentas halla presicion

por ejemplo
int asd=floor(1/3+1/3+3/7);

nesesito que este codigo le de un valor de 1 a asd, pero el valor que le da es 0

se que eso se deve a que las divisiones se hacen de manera entera, pero no se como solucionar mi problema

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: divisiones exactas
« Respuesta #1 en: Lunes 11 de Octubre de 2010, 07:27 »
0
Es más o menos sencillo, si los parámetros son enteros, darán resultados enteros. Si deseas resultados con parte decimal, debes usar tipos de datos que puedan almancenar parte decimal. Cualquiera de estass te puede funcionar:

Código: C
  1. int asd = ( (float)1/(float)3 + (float)1/(float)3 + (float)3/(float)7 );
  2. int asd = ( 1.0 / 3.0 + 1.0 / 3.0 + 3.0 / 7.0 );
  3. int asd = ( (float)1/3 + (float)1/3 + (float)3/7);
  4. int asd = ( 1/3.0 + 1/3.0 + 3/7.0 ); 
  5.  
En la primera, (float) indica que se debe hacer un "cast" (conversión) para convertir a float el tipo de dato a continuación, se hace para cada uno de los datos a manejar.
En la segunda, se consigue lo mismo pero indicando que cada dato tiene parte decimal, agregándole el .0.
En la tercera y cuarta, se realiza lo mismo, pero solo indicándolo para uno de los datos que intervienen en cada una de las divisiones. En C, cuando se tienen dos datos de diferente tipo para realizar una operación, se hace un "cast" para que los dos datos sean del mismo tipo, para el ejemplo, un dato es int y el otro float, para estos casos el cast se hace para convertir el tipo int a float, con lo que se consigue el mismo efecto que con los dos primeros ejemplos.
« última modificación: Lunes 11 de Octubre de 2010, 17:53 por Geo »
La imaginación es el límite.
Hardware & Software | Mexchip

Alfonsos1

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: divisiones exactas
« Respuesta #2 en: Lunes 11 de Octubre de 2010, 17:15 »
0
muy buena respuesta