Udostępnij za pośrednictwem


remainder, , remainderfremainderl

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 = 0element 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, , remainderfremainderl <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, , remquofremquol