remquo
, , remquof
remquol
Oblicza pozostałą część dwóch wartości całkowitych i przechowuje wartość całkowitą ze znakiem i przybliżoną wielkością ilorazu w parametrze.
Składnia
double remquo( double numer, double denom, int* quo );
float remquof( float numer, float denom, int* quo );
long double remquol( long double numer, long double denom, int* quo );
#define remquo(X, Y, INT_PTR) // Requires C11 or higher
float remquo( float numer, float denom, int* quo ); /* C++ only */
long double remquo( long double numer, long double denom, int* quo ); /* C++ only */
Parametry
numer
Licznik.
denom
Mianownik.
quo
Wskaźnik do liczby całkowitej do przechowywania wartości, która ma znak i przybliżoną wielkość cudzysłów.
Wartość zwracana
remquo
Zwraca pozostałą część zmiennoprzecinkową .x
/ y
Jeśli wartość y
to 0,0, remquo
zwraca cichą wartość NaN. Aby uzyskać informacje na temat reprezentacji cichej nazwy NaN przez rodzinęprintf
, zobaczprintf
, _printf_l
, wprintf
, _wprintf_l
.
Uwagi
Funkcja remquo
oblicza resztę f
zmiennoprzecinkową x
y
/ takiej liczby, żen
f
* = x
+ y
*, gdzie n
jest liczbą całkowitą, f
ma ten sam znak co x
, a wartość bezwzględna wartości jest mniejsza niż wartość f
y
bezwzględna .
Język C++ umożliwia przeciążenie, dzięki czemu można wywoływać przeciążenia remquo
, 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, remquo
zawsze przyjmuje dwa double
argumenty i zwraca wartość double
.
Jeśli używasz makra <tgmath.h>remquo()
, 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++) |
---|---|---|
remquo , , remquof remquol |
<math.h> | <cmath> lub <math.h> |
remquo Makro |
<tgmath.h> |
Aby uzyskać informacje o zgodności, zobacz Zgodność.
Przykład
// crt_remquo.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;
int quo = 0;
z = remquo(w, x, &quo);
printf("The remainder of %.2f / %.2f is %f\n", w, x, z);
printf("Approximate signed quotient is %d\n", quo);
}
The remainder of -10.00 / 3.00 is -1.000000
Approximate signed quotient is -3
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remainder
, , remainderf
remainderl