modf、modff
將浮點值成分數的整數部分。
double modf(
double x,
double *intptr
);
float modf(
float x,
float *intptr
); // C++ only
long double modf(
long double x,
long double * intptr
); // C++ only
float modff(
float x,
float *intptr
);
參數
x
浮點值intptr
要儲存的整數部分的指標。
傳回值
這個函式會傳回 x簽署的小數部分。 不會回傳錯誤。
備註
modf 函式為分數和整數部分除以浮點值 x ,每一個都有標記和 *x.*相同。x 簽署的分數部分傳回。 整數部分形式儲存在 *intptr.*的浮點值。
modf 會使用 Streaming SIMD Extensions 2(SSE2) 的實作。 請參閱 _set_SSE2_enable 以取得詳細資訊及使用限制 SSE2 實作。
C++ 允許多載,因此您可以呼叫 modf 不同版本的多載。 在 C 程式中, modf 一律接受並傳回雙精確度浮點數值。
需求
常式 |
必要的標頭 |
---|---|
modf, modff |
<math.h> |
如需其他相容性資訊,請參閱<簡介>中的相容性。
程式庫
C 執行階段程式庫的所有版本。
範例
// crt_modf.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x, y, n;
x = -14.87654321; /* Divide x into its fractional */
y = modf( x, &n ); /* and integer parts */
printf( "For %f, the fraction is %f and the integer is %.f\n",
x, y, n );
}
Output
For -14.876543, the fraction is -0.876543 and the integer is -14