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 具有使用流 SIMD 扩展 2 的实现 (SSE2)。 请参见 _set_SSE2_enable 信息和使用限制这次将实现。

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

.NET Framework 等效项

请参见

参考

浮点支持

长的二进制文件

frexp

ldexp