Цикл for в C ++, использующий двойной разрыв на один шаг раньше, граничное значение не достигнуто

У меня есть простая программа на C ++, скомпилированная с использованием gcc 4.2.4 на 32-битной Ubuntu 8.04. Оно имеетforпетля, в которойdouble переменная увеличивается от нуля до единицы с определенным размером шага. Когда размер шага0.1, поведение то, что я ожидал. Но когда размер шага0,05'цикл выходит после0.95, Может кто-нибудь сказать мне, почему это происходит? Вывод соответствует исходному коду ниже.

#include 

using namespace std;

int main()
{
    double rangeMin = 0.0;
    double rangeMax = 1.0;
    double stepSize = 0.1;

    for (double index = rangeMin; index 

Ответы на вопрос(10)

Ваш ответ на вопрос