remainder
, remainderf
, remainderl
Calcula o restante do quociente de dois valores de ponto flutuantes, arredondados para o valor integral mais próximo.
Sintaxe
double remainder( double x, double y );
float remainderf( float x, float y );
long double remainderl( long double x, long double y );
#define remainder(X, Y) // Requires C11 or higher
float remainder( float x, float y ); /* C++ only */
long double remainder( long double x, long double y ); /* C++ only */
Parâmetros
x
O numerador.
y
O denominador.
Valor retornado
O restante do ponto flutuante de x
/ y
. Se o valor de y
for 0,0, remainder
retornará um NaN silencioso. Para obter informações sobre a representação de um NaN silencioso pela printf
família, consulteprintf
, _printf_l
, wprintf
, _wprintf_l
.
Comentários
As remainder
funções calculam o resto r
de ponto flutuante de x / y
tal que , onde n
é o inteiro mais próximo em valor de x / y
e n
é par sempre |n - x / y| = 1/2
que x = n * y + r
. Quando r = 0
, r
tem o mesmo sinal que x
.
Como C++ permite sobrecargas, é possível chamar sobrecargas de remainder
e que utilizam e retornam valores de float
ou long double
. Em um programa C, a menos que você esteja usando a <macro tgmath.h> para chamar essa função, remainder
sempre usa dois double
argumentos e retorna um double
.
Se você usa a macro <tgmath.h>remainder()
, o tipo do argumento determina 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 (C) | Cabeçalho necessário (C++) |
---|---|---|
remainder , remainderf , remainderl |
<math.h> | <cmath> ou <math.h> |
Macro remainder |
<tgmath.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// crt_remainder.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 = remainder(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
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remquo
, remquof
, remquol