共用方式為


remainder、 、 remainderfremainderl

計算兩個浮點值商數的餘數,四捨五入為最接近的整數值。

語法

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

參數

x
分子。

y
分母。

傳回值

x / y 的浮點餘數。 如果 y 的值為 0.0,則 remainder 會傳回無訊息 NaN。 如需家族中無訊息 NaN printf 表示法的詳細資訊,請參閱printf、 、 、 _wprintf_l_printf_lwprintf

備註

remainder式會計算 的浮點餘數rx / yx = n * y + r使 ,其中 n 是值最接近的x / yn整數,即使每當 |n - x / y| = 1/2。 當 時 r = 0r 具有與 x相同的符號。

因為 C++ 允許多載,所以您可以呼叫採用並傳回 remainderfloat 值的 long double 的多載。 在 C 程式中,除非您使用 <tgmath.h> 巨集來呼叫此函式, remainder 否則一律會採用兩 doubledouble自變數並傳回 。

如果您使用 <tgmath.h>remainder() 巨集,則引數的型別會決定選取哪一個函式版本。 如需詳細資料,請參閱型別泛型數學

根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態

需求

函式 必要的標頭 (C) 必要的標頭 (C++)
remainder、 、 remainderfremainderl <math.h> <cmath> 或 <math.h>
remainder 巨集 <tgmath.h>

如需相容性資訊,請參閱相容性

範例

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

另請參閱

數學與浮點支援
ldiv, lldiv
imaxdiv
fmod, fmodf
remquo、 、 remquofremquol