Бесконечный цикл с поплавком

Рассмотрим следующий код:

for (float i = 0f; i < int.MaxValue; i++)
{
    // Some code
}

Который должен из цикла0 вint.MaxValue (231-1), но это не так. однаждыi достиг 224, i++ больше не работает по причине, которую я совершенно не в состоянии понять.

В непосредственном окне VS я попробую это:

>i
16777216.0
>i + 1
16777216.0 // ???
>i == i + 1
false // as expected, but a lack of consistency with upper statement
>i + 2
16777218.0

Почему он так себя ведет? Что особенного в 224+1?

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

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