rint(3) auf die nächste

Other Alias

nearbyint, nearbyintf, nearbyintl, rintf, rintl

ÜBERSICHT

#include <math.h>


double nearbyint(double x);
float nearbyintf(float x);
long double nearbyintl(long double x);

double rint(double x);
float rintf(float x);
long double rintl(long double x);

Linken Sie mit der Option -lm.

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

nearbyint(), nearbyintf(), nearbyintl():

_POSIX_C_SOURCE >= 200112L || _ISOC99_SOURCE

rint():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    || _XOPEN_SOURCE >= 500
    || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
    || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

rintf(), rintl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
    || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG

Die Funktionen nearbyint(), nearbyintf() und nearbyintl() runden ihre Argumente auf einen ganzzahligen Wert im Fließkommaformat. Dazu benutzen sie die aktuelle Rundungsrichtung (siehe fesetround(3)) und lösen keine inexact-Ausnahme aus. Falls die aktuelle Rundungsrichtung auf das Nächste abzielt, runden diese Funktionen, wenn der Wert in der Mitte liegt, gemäß IEEE-754 auf eine gerade Ganzzahl.

Die Funktionen rint(), rintf() und rintl() tun das gleiche, lösen aber eine inexact-Ausnahme aus (FE_INEXACT, mittels fetestexcept(3) prüfbar), wenn sich das Ergebnis im Wert vom Argument unterscheidet.

RÜCKGABEWERT

Diese Funktionen liefern den gerundeten ganzzahligen Wert zurück.

Falls x ganzzahlig, +0, -0, NaN (keine Zahl) oder unendlich ist, wird x selbst zurückgegeben.

FEHLER

Es treten keine Fehler auf. POSIX.1-2001 dokumentiert für Überläufe einen Bereichsfehler, aber lesen Sie dazu die ANMERKUNGEN.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
SchnittstelleAttributWert
nearbyint(), nearbyintf(),
nearbyintl(), rint(),
rintf(), rintl()
Multithread-FähigkeitMT-Safe

KONFORM ZU

C99, POSIX.1-2001, POSIX.1-2008.

ANMERKUNGEN

SUSv2 und POSIX.1-2001 enthalten Text über Überläufe (die errno auf ERANGE setzen oder eine FE_OVERFLOW-Ausnahme auslösen können). In der Praxis kann das Ergebnis auf einer tatsächlichen Maschine nicht überlaufen, da dieses Fehlerbehandlungszeug purer Unsinn ist. (Genaugenommen kann ein Überlauf nur auftreten, wenn der maximale Wert der Exponenten kleiner ist als die der Mantissen-Bits. Für die IEEE-754-Standard-32- und 64-Bit-Fließkommazahlen ist der Maximalwert für den Exponenten 128 (beziehungsweise 1024) und die Anzahl der Mantissen-Bits 24 (beziehungsweise 53).)

Wenn Sie den gerundeten Wert in einem ganzzahligen Typ speichern möchten, wollen Sie stattdessen wahrscheinlich eine der in lrint(3) beschriebenen Funktionen benutzen.

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Schmitt <[email protected]> und Chris Leick <[email protected]> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.