Überprüfung ob Ganzzahl
-
Bää das ist aber falsch
Dafür ist die genauigkeit einer Fließkommerzahl(float) zu gering. Guck mal bei cplusplus-forum.de ... da hat 0xdeadbeefy mal eine sehr nette Lösung des Problems gegeben 
-
f==floor(f)
f==ceil(f)
fmod(f,1)==0
-
(D)Evil schrieb:
Bää das ist aber falsch
Dafür ist die genauigkeit einer Fließkommerzahl(float) zu gering. Guck mal bei cplusplus-forum.de ... da hat 0xdeadbeefy mal eine sehr nette Lösung des Problems gegeben 
Mit einem 32-Bit-float kann man alle natürlichen Zahlen bis ~2^24 exakt darstellen. Was ist hier nun das Problem?
-
bool ungerade= ((long)f) < f ? false : true;
-
true/false vertauscht und funzt nicht mit negativen f.
Edit: "ungerade" ist hier ja eh der total falsche Bezeichner...
-
BorisDieKlinge schrieb:
bool ungerade= ((long)f) < f ? false : true;bool ungerade = (static_cast<long>(f) & 1) == 1;
-
bool ungerade =(f & 1)
-
BorisDieKlinge schrieb:
bool ungerade =(f & 1)vielleicht bist du lieber still, bevor du dich vollends zum affen machst.
-
tzz schrieb:
BorisDieKlinge schrieb:
bool ungerade =(f & 1)vielleicht bist du lieber still, bevor du dich vollends zum affen machst.
Dafür ists schon lange zu spät

-
du vogel...
wollte damit sagen das deine option nich geht;)
