remquo, remquof, remquol

İki tamsayı değerinin geri kalanını hesaplar ve bir parametredeki bölüm işareti ve yaklaşık büyüklüğü ile bir tamsayı değeri depolar.

Sözdizimi

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 */

Parametreler

numer
Pay.

denom
Payda.

quo
İşareti ve bölüme ait yaklaşık büyüklüğe sahip bir değeri depolamak için bir tamsayı işaretçisi.

Dönüş değeri

remquo öğesinin kayan nokta geri kalanını x / ydöndürür. değeri y 0,0 ise sessiz remquo bir NaN döndürür. Sessiz bir NaN'nin aile tarafından temsili printf hakkında bilgi için bkz printf. , _printf_l, wprintf, _wprintf_l.

Açıklamalar

remquo İşlev, * değerinin xy x / f + * = ynkayan nokta geri kalanını f hesaplar; burada n bir tamsayıdır, f ile aynı işaretine xsahiptir ve mutlak değeri f mutlak değerinden yküçüktür.

C++ aşırı yüklemeye izin verir, böylece bu alma ve döndürme float veya long double değerlerin remquo aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için tgmath.h makrosunu <kullanmıyorsanız, remquo her zaman iki double bağımsız değişken alır ve bir doubledöndürür.>

tgmath.h>remquo() makroyu <kullanırsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

İşlev Gerekli üst bilgi (C) Gerekli üst bilgi (C++)
remquo, remquof, remquol <math.h> <cmath> veya <math.h>
remquo Makro <tgmath.h>

Uyumluluk bilgileri için bkz . Uyumluluk.

Örnek

// 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

Ayrıca bkz.

Matematik ve kayan nokta desteği
ldiv, lldiv
imaxdiv
fmod, fmodf
remainder, remainderf, remainderl