Рассмотрим следующий код:Бесконечный цикл с поплавком
for (float i = 0f; i < int.MaxValue; i++)
{
// Some code
}
который, как предполагается петлю из 0
к int.MaxValue
(2 -1), но это не так. Как только i
достиг 2 , i++
больше не работает по той причине, что я совершенно неспособен понять.
В Immediate Окно 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
Почему он ведет себя, как так? Что особенного с 2 +1?