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
/ y
dö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 x
y
x
/ f
+ * = y
n
kayan nokta geri kalanını f
hesaplar; burada n
bir tamsayıdır, f
ile aynı işaretine x
sahiptir ve mutlak değeri f
mutlak değerinden y
küçü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 double
dö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