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

remquoZwraca 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ą xy / takiej liczby, żenf * = 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ść fybezwzglę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