remainder
, , remainderf
remainderl
Oblicza resztę ilorazu dwóch wartości zmiennoprzecinkowych zaokrąglonych do najbliższej wartości całkowitej.
Składnia
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 */
Parametry
x
Licznik.
y
Mianownik.
Wartość zwracana
Pozostała część zmiennoprzecinkowa .x
/ y
Jeśli wartość y
to 0,0, remainder
zwraca cichą wartość NaN. Aby uzyskać informacje na temat reprezentacji cichej nazwy NaN przez rodzinęprintf
, zobaczprintf
, _printf_l
, wprintf
, _wprintf_l
.
Uwagi
Funkcje remainder
obliczają resztę r
zmiennoprzecinkową x / y
takiej wartości, że x = n * y + r
, gdzie n
jest liczbą całkowitą najbliższą wartością x / y
, a n
nawet zawsze, gdy |n - x / y| = 1/2
. Jeśli r = 0
element r
ma ten sam znak co x
.
Ponieważ język C++ umożliwia przeciążenie, można wywołać przeciążenia remainder
tych wartości, które przyjmują i zwracają float
lub long double
wartości. W programie języka C, chyba że używasz makra <tgmath.h> do wywołania tej funkcji, remainder
zawsze przyjmuje dwa double
argumenty i zwraca wartość double
.
Jeśli używasz makra <tgmath.h>remainder()
, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek (C) | Wymagany nagłówek (C++) |
---|---|---|
remainder , , remainderf remainderl |
<math.h> | <cmath> lub <math.h> |
remainder Makro |
<tgmath.h> |
Aby uzyskać informacje o zgodności, zobacz Zgodność.
Przykład
// 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
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remquo
, , remquof
remquol