remainder
, , remainderf
, remainderl
Calcula el resto del cociente de dos valores de punto flotante, redondeado al valor entero más cercano.
Sintaxis
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
Numerador.
y
Denominador.
Valor devuelto
El resto del punto flotante de x
/ y
. Si el valor de y
es 0,0, remainder
devuelve un valor NaN reservado. Para obtener información sobre la representación de un NaN silencioso por la printf
familia, veaprintf
, _printf_l
, wprintf
, _wprintf_l
.
Comentarios
Las remainder
funciones calculan el resto r
de punto flotante de x / y
de forma que x = n * y + r
, donde n
es el entero más cercano en el valor a x / y
y n
es incluso cuando |n - x / y| = 1/2
. Cuando r = 0
, r
tiene el mismo signo que x
.
Puesto que C++ permite las sobrecargas, es posible llamar a las sobrecargas de remainder
que toman y devuelven los valores float
o long double
. En un programa de C, a menos que use la <macro tgmath.h> para llamar a esta función, remainder
siempre toma dos double
argumentos y devuelve un double
.
Si usa la macro <tgmath.h>remainder()
, el tipo del argumento determina qué versión de la función se selecciona. Consulte Matemáticas de tipo genérico para obtener más información.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Requisitos
Función | Encabezado necesario (C) | Encabezado necesario (C++) |
---|---|---|
remainder , , remainderf , remainderl |
<math.h> | <cmath> o <math.h> |
remainder Macro |
<tgmath.h> |
Para obtener información sobre la compatibilidad, consulte Compatibilidad.
Ejemplo
// 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
Vea también
Compatibilidad con cálculos matemáticos y el punto flotante
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remquo
, , remquof
, remquol