Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Restituisce il valore a virgola mobile rappresentabile successivo.
Sintassi
double nextafter( double x, double y );
float nextafterf( float x, float y );
long double nextafterl( long double x, long double y );
double _nextafter( double x, double y );
float _nextafterf( float x, float y ); /* x64 only */
#define nextafter(X, Y) // Requires C11 or later
double nexttoward( double x, long double y );
float nexttowardf( float x, long double y );
long double nexttowardl( long double x, long double y );
#define nexttoward(X, Y) // Requires C11 or later
float nextafter( float x, float y ); /* C++ only, requires <cmath> */
long double nextafter( long double x, long double y ); /* C++ only, requires <cmath> */
float nexttoward( float x, long double y ); /* C++ only, requires <cmath> */
long double nexttoward( long double x, long double y ); /* C++ only, requires <cmath> */
Parametri
x
Valore a virgola mobile da cui partire.
y
Valore a virgola mobile da cui proseguire.
Valore restituito
Restituisce il valore a virgola mobile rappresentabile del tipo restituito successivo, dopo x nella direzione di y. Se x e y sono uguali, la funzione restituisce y, convertita nel tipo restituito, senza alcuna eccezione attivata. Se x non è uguale a ye il risultato è denormale o zero, vengono impostati gli FE_UNDERFLOW stati di eccezione a virgola mobile e FE_INEXACT viene restituito il risultato corretto. Se x o y è NaN, il valore restituito è uno dei valori NaN di input. Se x è finito e il risultato è infinito o non rappresentabile nel tipo, viene restituito un valore infinito o NAN con segno corretto, gli FE_OVERFLOW stati di eccezione a virgola mobile e FE_INEXACT vengono impostati errno su ERANGE.
Osservazioni:
Le famiglie di funzioni nextafter e nexttoward sono equivalenti, tranne per il tipo del parametro y. Se x e y sono uguali, il valore restituito è y convertito nel tipo restituito.
Poiché C++ consente l'overload, se si includono <cmath> è possibile chiamare overload di nextafter e che restituiscono nexttoward e floatlong double tipi. In un programma C, a meno che non si usi la <tgmath.h> macro per chiamare questa funzione nextafter e nexttoward restituire doublesempre .
Se si utilizza la nextafter macro o nexttoward da <tgmath.h>, il tipo dell'argomento determina quale versione della funzione è selezionata. Per informazioni dettagliate, vedere La matematica generica dei tipi.
Le _nextafter funzioni e _nextafterf sono specifiche di Microsoft. La funzione _nextafterf è disponibile solo per la compilazione per la piattaforma x64.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
| Ciclo | Intestazione obbligatoria (C) | Intestazione obbligatoria (C++) |
|---|---|---|
nextafter, nextafterf, nextafterl, _nextafterfnexttoward, , nexttowardfnexttowardl |
<math.h> |
<math.h> oppure <cmath> |
_nextafter |
<float.h> |
<float.h> oppure <cfloat> |
nextafter macro, nexttoward macro |
<tgmath.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Vedi anche
Supporto matematico e a virgola mobile
isnan, _isnan, _isnanf