Ver Mensaje Individual
  #9 (permalink)  
Antiguo 29/05/2012, 01:51
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: divicion de numeros en c

El tipo float te va a dar una precisión de 7-8 cifras. El tipo double te va a dar una precisión de 15-16 cifras. Si le dices que imprima con 300 cifras decimales (como has hecho en el ejemplo que has posteado), te imprimirá ceros una vez que haya llegado a esos 16 dígitos.

Si quieres más precisión, tienes varias opciones:

1. Buscar librerías de mayor precisión, pero puede ser un poco complicado emplearlas si, como dices, eres nuevo en C.

2. Algunos compiladores C tienen un tipo llamado qfloat de 384 bits (unos 100 dígitos de precisión). Por ejemplo, Lcc-Win32. Si te decides a probar, mira bien las ayudas, porque las funciones para entrada/salida de datos (scanf/printf) para este tipo son distintas.

Cita:
PD: me olvidaba del modificador long. Proba con long double, haber si sucede algo
El tipo long double depende de la implementación. Puede que, simplemente, sea similar al tipo double, puede ser un tipo de 128 bits (en lugar de los 64 del double), o puede ser algún tipo más particular. Por ejemplo, en los antiguos compiladores Turbo C para MSDOS de Borland, el tipo long double correspondía al tipo interno del procesador de coma flotante (80 bits, 10 bytes), mientras que en los compiladores Micro$oft C era lo mismo que utilizar double.