Scroll to navigation

RINT(3) Linux-Programmierhandbuch RINT(3)

BEZEICHNUNG

nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - auf die nächste Ganzzahl runden

Ü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 Ganzzahlwert 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.

Schnittstelle Attribut Wert
nearbyint(), nearbyintf(), nearbyintl(), rint(), rintf(), rintl() Multithread-Fähigkeit MT-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 einem aktuellen Rechner nicht überlaufen, so dass diese Überlegungen zur Fehlerbehandlung einfach Unsinn sind. (Genauer gesagt, kann ein Überlauf nur eintreten, wenn der maximale Wert des Exponenten kleiner als die Anzahl der Mantissen-Bits ist. 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.

SIEHE AUCH

ceil(3), floor(3), lrint(3), round(3), trunc(3)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 5.10 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 <fw@math.uni-sb.de> und Chris Leick <c.leick@vollbio.de> 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 die Mailingliste der Übersetzer.

15. September 2017