文档
注册
评分
提单
论坛
小智

drem

同时计算浮点x/y的余数。

即x = n * y + d,其中n为整数,|d| < y / 2;当|d| = |y| / 2时,要保证n为偶数。

接口定义

C interface:

float dremf(float x, float y);

double drem(double x, double y);

参数

参数名

类型

描述

输入/输出

x

  • 在dremf中,x是单精度浮点类型。
  • 在drem中,x是双精度浮点类型。

表示输入数据的浮点值。

输入

y

  • 在dremf中,y是单精度浮点类型。
  • 在drem中,y是双精度浮点类型。

表示输入数据的浮点值。

输入

返回值

  • 正常区间:返回x/y的余数。
  • 特殊区间:
    • 输入|x|或者|y|为0或nan,输出nan。
    • 输入|x|为0,|y|不为0或者nan,输出±0。

依赖

C: "km.h"

示例

C interface:

// typical usage
double x1 = 3.0, x2 = 3.5;
double y1 = 4.0, y2 = 4.5;
// special handling
double e = INFINITY, f = -INFINITY, g = NAN;
// print result
printf("/*\n");
printf(" * drem(3.0, 4.0) = %.15f\n", drem(x1, y1));
printf(" * drem(3.5, 4.5) = %.15f\n", drem(x2, x2));
printf(" * drem(4.5, 4.5) = %.15f\n", drem(y2, y2));
printf(" * drem(INFINITY, 0) = %.15f\n", drem(e, 0.0f));
printf(" * drem(-INFINITY, 3.0) = %.15f\n", drem(f, x1));
printf(" * drem(NAN, 3.0) = %.15f\n", drem(g, x1));
printf(" * drem(NAN, INFINITY) = %.15f\n", drem(g, e));
printf(" **/\n");
/*
 * drem(3.0, 4.0) = -1.000000000000000
 * drem(3.5, 4.5) = 0.000000000000000
 * drem(4.5, 4.5) = 0.000000000000000
 * drem(INFINITY, 0) = nan
 * drem(-INFINITY, 3.0) = nan
 * drem(NAN, 3.0) = nan
 * drem(NAN, INFINITY) = nan
 **/
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词