_nextafter() für float



  • Hallo,
    kennt jemand eine Funktion bzw. kann mir jemand eine einfache Möglichkeit beschreiben, wie man den Nachbarn einer float-Zahl bekommt (also die nächst größere bzw. kleinere Zahl). Für double geht das ja mit _nextafter(). Ich brauche aber nen float (32 bit).
    Ich denke mit Bitschieberei wird das ein ganz schönes Stück Arbeit...

    Die Frage ist ein wenig grenzwertig in diesem Forum ich weiß - konnte mich einfach nicht zwischen C++ oder ANSI-C entscheiden. Wenn's falsch ist - tschuldigung.

    In diesem Sinne



  • OT: ist egal, sie waer in beiden Foren gleich falsch 😉



  • Moin,

    keiner ne Idee?
    Oder ist die Frage zu blöd?
    oder gehts nur "per Hand" und aufwendig?

    in diesem Sinne



  • C99 definiert

    #include <math.h>
    
    double nextafter(double x, double y);
    float nextafterf(float x, float y);
    long double nextafterl(long double x, long double y);
    
    double nexttoward(double x, long double y);
    float nexttowardf(float x, long double y);
    long double nexttowardl(long double x, long double y);
    

    Ältere Compiler werden das aber vermutlich nicht kennen.



  • oder mit Unterstrich .. _nextafterf wuerd ich auf jeden Fall mal probieren.



  • Jo danke erst einmal!
    Leider hab ich die Funktionen bei VC++ 6.0 nicht 😞 Dann muss ichs wohl per hand machen....

    Trotzdem Danke! Jetzt weiß ich wenigstens das es irgendwie geht.


Anmelden zum Antworten