fmod
, fmodf
, fmodl
Calcula o restante do ponto flutuante.
Sintaxe
double fmod(
double x,
double y
);
float fmod(
float x,
float y
); // C++ only
long double fmod(
long double x,
long double y
); // C++ only
float fmodf(
float x,
float y
);
long double fmodl(
long double x,
long double y
);
#define fmod(X, Y) // Requires C11 or higher
Parâmetros
x
, y
Valores de ponto flutuante.
Valor retornado
fmod
retorna o restante do ponto flutuante de x / y
. Se o valor de y
for 0,0, fmod
retornará um NaN
silencioso. Para obter informações sobre a representação de um NaN
silencioso pela família printf
, veja printf
.
Comentários
A função fmod
calcula o restante do ponto flutuante f
de x / y
de modo que x = i * y + f
, em que i
é um inteiro, f
tem o mesmo sinal que x
e o valor absoluto de f
é menor que o valor absoluto de y
.
O C++ permite sobrecargas, de modo que é possível chamar sobrecargas de fmod
que usam e retornam valores de float
e long double
. Em um programa do C, a menos que você esteja usando a macro <tgmath.h>
para chamar essa função, fmod
sempre recebe double
argumentos e retorna um double
.
Se você usar a fmod
macro de <tgmath.h>
, o tipo do argumento determinará qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Requisitos
Função | Cabeçalho necessário |
---|---|
fmod , fmodf , fmodl |
<math.h> |
Macro fmod |
<tgmath.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// crt_fmod.c
// This program displays a floating-point remainder.
#include <math.h>
#include <stdio.h>
int main( void )
{
double w = -10.0, x = 3.0, z;
z = fmod( w, x );
printf( "The remainder of %.2f / %.2f is %f\n", w, x, z );
}
The remainder of -10.00 / 3.00 is -1.000000
Confira também
Suporte matemático e de ponto flutuante
ceil
, ceilf
, ceill
fabs
, fabsf
, fabsl
floor
, floorf
, floorl
_CIfmod