http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/ He estado sobre esto últimamente para revisar C++.evitar el error de redondeo (flotante específicamente) C++
En general, los profesores de clases de informática tienden a no cubrir estas pequeñas cosas, aunque sabíamos lo que significaban los errores de redondeo.
¿Puede alguien ayudarme con cómo evitar el error de redondeo?
El tutorial muestra un código de ejemplo
#include <iomanip>
int main()
{
using namespace std;
cout << setprecision(17);
double dValue = 0.1;
cout << dValue << endl;
}
Esto da salida
0,10000000000000001
Por flotador predeterminada se mantiene de 6 dígitos de precisiones. Por lo tanto, cuando anulamos el valor predeterminado y solicitamos más (en este caso, 17 !!), podemos encontrar el truncamiento (como se explica en el tutorial también). Para el doble, el más alto es 16.
En general, ¿cómo los programadores buenos de C++ evitan el error de redondeo? ¿Ustedes siempre miran la representación binaria del número?
Gracias.
Eso establece la precisión del formato de la secuencia Usos del código: nada que ver con la forma en que se representa el número o en otro código. –