Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Devolve o próximo valor de ponto flutuante representável.
Sintaxe
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> */
Parâmetros
x
O valor de ponto flutuante a partir do qual começar.
y
O valor de ponto flutuante para o qual ir.
Valor de retorno
Devolve o próximo valor de ponto flutuante representável do tipo de retorno after x na direção de y. Se x e y são iguais, a função retorna y, convertido para o tipo de retorno, sem exceção acionada. Se x não for igual a y, e o resultado for um denormal ou zero, os estados de FE_UNDERFLOW exceção e FE_INEXACT de ponto flutuante serão definidos e o resultado correto será retornado. Se um ou xy é um NAN, então o valor de retorno é um dos NANs de entrada. Se x for finito e o resultado for infinito ou não representável no tipo, um infinito ou NAN assinado corretamente é retornado, os FE_OVERFLOW estados de exceção de ponto flutuante e FE_INEXACT são definidos errno como ERANGE.
Observações
As nextafter famílias de funções e nexttoward são equivalentes, exceto para o tipo de parâmetro de y. Se x e y forem iguais, o valor retornado será y convertido para o tipo de retorno.
Como o C++ permite sobrecarga, se você incluir <cmath> poderá chamar sobrecargas de nextafter e nexttoward que retornam float e long double tipos. Em um programa C, a menos que você esteja usando a <tgmath.h> macro para chamar essa função nextafter e nexttoward sempre retornar double.
Se você usar a macro ou nexttoward de nextafter<tgmath.h>, o tipo do argumento determinará qual versão da função será selecionada. Consulte Matemática genérica de tipo para obter detalhes.
As _nextafter funções e _nextafterf são específicas da Microsoft. A _nextafterf função só está disponível ao compilar para x64.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.
Requerimentos
| Rotina | Cabeçalho obrigatório (C) | Cabeçalho obrigatório (C++) |
|---|---|---|
nextafter, nextafterf, nextafterl, _nextafterf, nexttoward, nexttowardf, nexttowardl |
<math.h> |
<math.h> ou <cmath> |
_nextafter |
<float.h> |
<float.h> ou <cfloat> |
nextafter macro, nexttoward macro |
<tgmath.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Consulte também
Suporte matemático e de ponto flutuante
isnan, _isnan, _isnanf