0

¿A qué se debe que en la iteración 74 se agregue 0.00009999 en vez de 0.0001 como en las anteriores?

#include <iostream>

int main() {
    float fx = 0;
    float fy = 0;
    double dx = 0;
    double dy = 0;

    for (int i = 1; i < 100; i++) {
        fx = fx + 0.0001;
        fy += 0.0001;
        dx += 0.0001;
        dy += 0.00000001;

        std::cout << i << ":";
        std::cout << fx << "|";
        std::cout << fy << "|";
        std::cout << dx << "|";
        std::cout << dy << std::endl;
    }
    return 0;
}

Resultado:

69:0.0069|0.0069|0.0069|6.9e-07
70:0.007|0.007|0.007|7e-07
71:0.0071|0.0071|0.0071|7.1e-07
72:0.0072|0.0072|0.0072|7.2e-07
73:0.0073|0.0073|0.0073|7.3e-07
74:0.00739999|0.00739999|0.0074|7.4e-07
75:0.00749999|0.00749999|0.0075|7.5e-07
76:0.00759999|0.00759999|0.0076|7.6e-07
77:0.00769999|0.00769999|0.0077|7.7e-07
78:0.00779999|0.00779999|0.0078|7.8e-07

Raul Cacacho
  • 2,285
  • 9
  • 15
  • 25
B. Pato
  • 145
  • 9
  • Estas diciendo que en la iteración 74 no te tiene que dar esos 9999? Por cierto en la primera linea dentro del for, para que haces el fx= fx+0.0001; – Alejo Mendoza Apr 13 '18 at 19:36
  • Ya veo, todo viene bien hasta la iteración **74**, debería seguir sumando de a "0.0001", pero en este caso le suma "0.00009999", lo que te da como resultado el valor de "0.00739999". – Rosyec Parrado Apr 13 '18 at 19:45

0 Answers0