Endless for Schleife mit float
Betrachten Sie den folgenden Code:
for (float i = 0f; i < int.MaxValue; i++)
{
// Some code
}
Welche soll von @ loope0
zuint.MaxValue
(2 31 -1), aber das tut es nicht. Einmali
erreichte 2 24, i++
funktioniert nicht mehr aus einem Grund, den ich überhaupt nicht verstehen kann.
Im Direktfenster von VS habe ich Folgendes versucht:
>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
Warum verhält es sich so? Was ist das Besondere an 2 24 + 1?