fmod , fmodf , fmodl , fmodd32, fmodd64和 fmodd128 子例程
用途
计算浮点的余数值。
语法
描述
弗莫德夫, 弗莫德尔, 菲莫德, fmodd32, fmodd64和 fmodd128 子例程返回 X 除法的浮点余数 (以 Y为单位)。
要检查错误情况的应用程序必须将 错误号 全局变量设置为零并调用 费克莱雷克斯普(FE_ALL_EXCEPT) ,然后才能调用这些子例程。 返回时,如果 错误号 是非零值,或者 费泰斯特西普(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) 是非零值,那么表示发生了错误。
参数
| 项 | 描述 |
|---|---|
| X | 指定要计算的值。 |
| y | 指定要计算的值。 |
返回值
弗莫德夫, 弗莫德尔, 菲莫德, fmodd32, fmodd64和 fmodd128 子例程会返回值 X- 一 *Y。 对于整数 一 ,如果 Y 为非零值,那么结果将具有与 X 相同的符号,并且量级小于 Y的量级。
如果正确的值将导致下流,并且不可表示,那么可能会发生范围错误,并返回 0.0 。
如果x或y为NaN,返回NaN。
如果 y 为零,那么将发生域错误,并返回 NaN 。
如果 x 是无限的,那么将发生域错误,并返回 NaN 。
如果 X 为 ± 0 且 Y 不为零,那么返回 ± 0。
如果 X 不是无限的,并且 Y 是 ± Inf ,那么会返回 X 。
如果正确的值将导致下溢,并且是可表示的,那么可能会发生范围错误并返回正确的值。
如果正确的值为零,那么舍入错误可能会导致返回值与 0.0不同。 根据 x 和 y的值以及舍入方式,在此情况下,返回值的量级可能接近 0.0 或接近 y 的量级。 可以通过使用十进制浮点子例程 (fmodd32, fmodd64和 fmodd128) 来避免这种情况。