Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Returnerar nästa representerande flyttalsvärde.
Syntax
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> */
Parameterar
x
Flyttalsvärdet som ska startas från.
y
Flyttalsvärdet att gå mot.
Returvärde
Returnerar nästa representerande flyttalsvärde för returtypen efter x i riktning mot y. Om x och y är lika returnerar yfunktionen , konverterad till returtypen, utan att något undantag utlöses. Om x inte är lika med y, och resultatet är en denormal eller noll, anges undantagstillstånden FE_UNDERFLOW och FE_INEXACT flyttalsfelet och rätt resultat returneras. Om antingen x eller y är en NAN är returvärdet ett av indata-NAN:erna. Om x är ändlig och resultatet är oändligt eller inte kan representeras i typen returneras en korrekt signerad oändlighet eller NAN, undantagstillstånden och FE_INEXACT flyttalsfelet FE_OVERFLOW anges och errno är inställt på ERANGE.
Anmärkningar
Funktionsfamiljerna nextafter och nexttoward är likvärdiga, förutom parametertypen y. Om x och y är lika konverteras det returnerade y värdet till returtypen.
Eftersom C++ tillåter överlagring, om du inkluderar <cmath> kan du anropa överlagringar av nextafter och nexttoward som returnerar float och long double typer. I ett C-program, såvida du inte använder makrot <tgmath.h> för att anropa den här funktionen och nextafternexttoward alltid returnerar double.
Om du använder makrot nextafter eller nexttoward från <tgmath.h>avgör typen av argumentet vilken version av funktionen som väljs. Mer information finns i Typ-allmän matematik .
Funktionerna _nextafter och _nextafterf är Microsoft-specifika. Funktionen _nextafterf är endast tillgänglig vid kompilering för x64.
Som standard är den här funktionens globala tillstånd begränsat till programmet. Information om hur du ändrar det här beteendet finns i Globalt tillstånd i CRT.
Kravspecifikation
| Rutin | Obligatoriskt huvud (C) | Obligatoriskt huvud (C++) |
|---|---|---|
nextafter, nextafterf, nextafterl, _nextafterf, nexttoward, , , nexttowardfnexttowardl |
<math.h> |
<math.h> eller <cmath> |
_nextafter |
<float.h> |
<float.h> eller <cfloat> |
nextafter makro, nexttoward makro |
<tgmath.h> |
Mer kompatibilitetsinformation finns i Kompatibilitet.