nearbyint
, nearbyintf
nearbyintl
Rundet den angegebenen Gleitkommawert auf eine ganze Zahl und gibt diesen Wert in einem Gleitkommaformat zurück.
Syntax
double nearbyint( double x );
float nearbyintf( float x );
long double nearbyintl( long double x );
#define nearbyint( X ) // Requires C11 or higher
float nearbyint( float x ); //C++ only
long double nearbyint( long double x ); //C++ only
Parameter
x
Hierbei handelt es sich um den zu rundenden Wert.
Rückgabewert
Wenn dies erfolgreich ist, wird x
mit dem aktuellen Rundungsformat , wie angegeben fegetround
, auf die nächste ganze Zahl gerundet. Andernfalls gibt die Funktion möglicherweise einen der folgenden Werte zurück:
Problem | Return |
---|---|
x = ±INFINITY |
±INFINITY, unverändert |
x = ±0 |
±0, unverändert |
x = NaN |
NaN |
Fehler werden nicht über _matherr
gemeldet; insbesondere meldet diese Funktion keine FE_INEXACT
Ausnahmen.
Hinweise
Der Hauptunterschied zwischen dieser Funktion und rint
besteht darin, dass diese Funktion die inexact-Gleitkommaausnahme nicht auslöst.
Da die maximalen Gleitkommawerte genaue ganze Zahlen sind, überläuft diese Funktion nie von selbst. Stattdessen ist es möglich, dass der Rückgabewert je nach Version der verwendeten Funktion von der Ausgabe überlaufen wird.
Da C++ das Überladen zulässt, können Sie Überladungen von nearbyint
aufrufen, die Parameter für float
oder long double
verwenden und zurückgeben. Wenn Sie in einem C-Programm nicht das <Makro tgmath.h> verwenden, um diese Funktion aufzurufen, nearbyint
werden immer zwei Doppelte Werte verwendet und ein Doppeltwert zurückgegeben.
Wenn Sie das Makro <tgmath.h>nearbyint()
verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Funktion | C-Header | C++-Header |
---|---|---|
nearbyint , nearbyintf nearbyintl |
<math.h> | <cmath> oder <math.h> |
nearbyint -Makro |
<tgmath.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Weitere Informationen
Alphabetische Funktionsreferenz
Mathematische Unterstützung und Gleitkommaunterstützung