Floats addieren in if Bedingung, was bewirkt das?
-
Hallo
habe etwas im internet gestöbert und ein Projekt gefunden
in dem etwa sowas stand:float x,y; x = 5; y = 7; if(x + y) //do sth. else // do sth. elsewas bewirkt das?
es wird x + y addiert aber mit nichts verglichen o.O
der compiler schmeist auch keinen fehler , ist sowas überhaupt möglich?
in c# (ich portiere nach c# um) funzt es nämlich nicht so wie dort.. mir ist aber auch nich bekannt was da passieren soll bzw. was da die bedingung ist
wisst ihr was das ist?
-
Das ist das selbe wie
if(x + y != 0)und das macht meistens keinen Sinn.
-
Ah okey vielen Dank, darauf bin ich garnicht gekommen.
Danke sehr

-
otze schrieb:
Das ist das selbe wie
if(x + y != 0)und das macht meistens keinen Sinn.
Aha..
if( x +y ) { double r = z / (x+y); }Trotzdem gefällt mir bei numerischen Werten der explizite Vergleich besser.
-
DocShoe schrieb:
Aha..
Ja und das macht auch nur scheisse. +-inf (vorzeichen von numerischen Fehler von x+y abhängig) ist auch nicht wirklich besser als nan.