fmax, fmaxf, fmaxl

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
remainder(C99)
remquo(C99)
fma(C99)
fmax(C99)
fmin(C99)
fdim(C99)
nan
nanf
nanl
(C99)
(C99)
(C99)
指数函数
exp
exp2(C99)
expm1(C99)
log
log10
log1p(C99)
log2(C99)
幂函数
sqrt
cbrt(C99)
hypot(C99)
pow
三角及双曲函数
sinh
cosh
tanh
asinh(C99)
acosh(C99)
atanh(C99)
误差及伽马函数
erf(C99)
erfc(C99)
lgamma(C99)
tgamma(C99)
临近整数的浮点运算
ceil
floor
round
lround
llround
(C99)
(C99)
(C99)
trunc(C99)
nearbyint(C99)
rint
lrint
llrint
(C99)
(C99)
(C99)
浮点数操作函数
ldexp
scalbn
scalbln
(C99)
(C99)
ilogb(C99)
logb(C99)
分类
fpclassify(C99)
isfinite(C99)
isinf(C99)
isnan(C99)
isnormal(C99)
signbit(C99)
宏常量
 
定义于头文件 <math.h>
float       fmaxf( float x, float y );
(1) (C99 起)
double      fmax( double x, double y );
(2) (C99 起)
long double fmaxl( long double x, long double y );
(3) (C99 起)
定义于头文件 <tgmath.h>
#define fmax( x, y )
(4) (C99 起)
1-3) 返回二个浮点参数的较大者,将NaN当做缺失的数据(在NaN和数值间,选择数值)。
4) 通用类型宏:若任一参数拥有long double类型,则调用fmaxl。否则若任一参数拥有整数类型或double类型,则调用fmax。否则调用fmaxf

目录

[编辑] 参数

x, y - 浮点值

[编辑] 返回值

若成功则返回二个浮点值的较大者。返回值是准确的且不依赖任何舍入模式。

[编辑] 错误处理

此函数不受任何指定于math_errhandling的错误条件影响。

若实现支持IEEE浮点算术(IEC 60559),

  • 则若二个参数之一为NaN,则返回另一个参数的值
  • 仅若两个参数均为NaN,才返回NaN

[编辑] 注意

此函数不要求对零的符号敏感,尽管一些实现附加地强制若一个参数为+0而另一个为-0,,则返回+0。

[编辑] 示例

#include <stdio.h>
#include <math.h>
 
int main(void)
{
    printf("fmax(2,1)    = %f\n", fmax(2,1));
    printf("fmax(-Inf,0) = %f\n", fmax(-INFINITY,0));
    printf("fmax(NaN,-1) = %f\n", fmax(NAN,-1));
}

输出:

fmax(2,1)    = 2.000000
fmax(-Inf,0) = 0.000000
fmax(NaN,-1) = -1.000000

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.12.2 The fmax functions (p: 257-258)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.9.2 The fmax functions (p: 530)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.12.2 The fmax functions (p: 238-239)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.9.2 The fmax functions (p: 466)

[编辑] 参阅

检查第一个浮点参数是否大于第二个
(宏函数) [edit]
(C99)
(C99)
(C99)
确定两个浮点值的较小者
(函数) [edit]
fmaxC++文档