¿Cómo se propaga el error de coma flotante cuando se realizan operaciones matemáticas en C ++?
Digamos que hemos declarado las siguientes variables
float a = 1.2291;
float b = 3.99;
float
las variables tienen precisión 6, lo que (si lo entiendo correctamente) significa que la diferencia entre el número que la computadora realmente almacena y el número real que desea será menor que10^-6
eso significa que ambosa
yb
tiene algún error que es menor que10^-6
así que dentro de la computadoraa
en realidad podría ser1.229100000012123
yb
podría ser3.9900000191919
ahora digamos que tienes el siguiente código
float c = 0;
for(int i = 0; i < 1000; i++)
c += a + b;
mi pregunta es,
serác
El resultado final tiene un error de precisión menor que10^-6
igual o no?
y si la respuesta es negativa, ¿cómo podemos saber realmente este error de precisión y qué sucede exactamente si aplica cualquier tipo de operaciones, tantas veces como lo desee y en cualquier orden?