18/05/2016, 14:38
|
| | Fecha de Ingreso: junio-2010 Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses Puntos: 73 | |
Respuesta: Saber si un double se ha desbordado Si se trata de un algoritmo de fuerza bruta, no creo que sea conveniente hacer comprobaciones de cada operando antes de operar para ver si va a haber overflow, te podrías eternizar. Si crees que puedes tener overflow de un double, como ya te comenté, prueba a ver si dispones del tipo long double. Otras opciones podrían ser:
En ocasiones, el cambiar el orden de las operaciones puede obrar maravillas.
Utiliza una librería de precisión arbitraria. No indicas qué compilador utilizas, para el compilador GNU tienes la GMP, y buscando podrás encontrar otras.
Algunos compiladores disponen de un tipo qfloat de 384 bits (no, no es un error). Esto te daría unos 100 dígitos de precisión. No recuerdo en este momento el rango, pero creo que es superior al de long double. Con este tipo tienes, por ejemplo, el compilador Lcc-Win32 (creo que hay también una versión para 64 bits). |