当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 remainder用法及代码示例


C语言math头文件(math.h)中remainder函数的用法及代码示例。

用法:

     double remainder  (double numer     , double denom);
      float remainderf (float numer      , float denom);
long double remainderl (long double numer, long double denom);
计算余数(IEC 60559)
返回的浮点余数numer/denom(四舍五入到最接近的值):

remainder=numer--quot*denom

在哪里quot是由于以下原因导致的:numer/denom,四舍五入到最接近的整数值(中途情况四舍五入到甚至数字)。

类似的函数fmod,则返回相同值,但商数被截断(四舍五入为零)。
函数remquo具有与该函数相同的行为,但它另外提供了对所用中间商值的访问。

标头<tgmath.h>提供此函数的type-generic宏版本。
额外的过载在此头文件中提供(<cmath>)的其他组合算术类型(Type1Type2):这些重载有效地将其参数转换为double在计算之前,除非至少有一个参数是类型long double(在这种情况下,两者都强制转换为long double反而)。

参数

numer
商分子的值。
denom
商分母的值。

返回值

除法论点的其余部分。
如果该余数为零,则其符号应为numer
如果denom为零,该函数可能返回零或导致域错误(取决于库的实现)。

如果一个域错误发生:
- 和math_errhandlingMATH_ERRNO设置:全局变量errno被设定为EDOM
- 和math_errhandlingMATH_ERREXCEPT设置:FE_INVALID被抛出

示例

/* remainder example */
#include <stdio.h>      /* printf */
#include <math.h>       /* remainder */

int main ()
{
  printf ( "remainder of 5.3 / 2 is %f\n", remainder (5.3,2) );
  printf ( "remainder of 18.5 / 4.2 is %f\n", remainder (18.5,4.2) );
  return 0;
}


输出:

remainder of 5.3 / 2 is -0.700000
remainder of 18.5 / 4.2 is 1.700000

相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C remainder function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。