当前位置: C语言 -- 标准库 -- <math.h> -- fmaximum_mag_numd128

fmaximum_mag_numd128函数


概要:
#include <math.h>
#ifdef __STDC_IEC_60559_DFP__
    _Decimal128 fmaximum_mag_numd128(_Decimal128 x, _Decimal128 y);
#endif 

描述:

该函数确定较大绝对值的数值参数的值。

如果|x|>|y|,函数返回参数x的值;如果|y|>|x|,函数返回参数y的值;否则返回fmaximumd128(x,  y)。

如果一个参数是数值,另一个参数是安静非数值或者信号非数值,该函数将返回数值。如果两个参数都是非数值,该函数将返回安静非数值。

如果某个参数是信号非数值,即使另一个参数是数值,函数返回数值的情况下,该函数仍会引发FE_INVALID浮点异常。

fmaximum_mag_numd128函数和fmaximum_magd128函数类似,唯一的区别在于非数值参数的处理:如果存在一个非数值参数,fmaximum_mag_numd128函数返回数值;fmaximum_magd128函数返回非数值。


参数:
_Decimal128 x

参数为_Decimal128类型的浮点数。

_Decimal128 y

参数为_Decimal128类型的浮点数。


返回值:

函数返回较大绝对值的数值参数的值。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
/*函数fmaximum_mag_numd128范例*/

#include <math.h>
#include <stdio.h>

int main(void)
{
    #if __STDC_VERSION_MATH_H__ >= 202311L && defined(__STDC_IEC_60559_DFP__)
        printf("fmaximum_mag_numd128(8.0dl, 2.0dl) = %.2DDf\n", fmaximum_mag_numd128(8.0dl, 2.0dl));
        printf("fmaximum_mag_numd128(-8.0dl, -2.0dl) = %.2DDf\n", fmaximum_mag_numd128(-8.0dl, -2.0dl));
    #else
        puts("The implementation does not support fmaximum_mag_numd128 function.");
    #endif

    return 0;
}

输出:

The implementation does not support fmaximum_mag_numd128 function.


相关内容:
fmaximum_mag_num double类型的确定较大绝对值的数值参数的函数。
fmaximum_mag_numf float类型的确定较大绝对值的数值参数的函数。
fmaximum_mag_numl long double类型的确定较大绝对值的数值参数的函数。
fmaximum_mag_numd32 _Decimal32类型的确定较大绝对值的数值参数的函数。
fmaximum_mag_numd64 _Decimal64类型的确定较大绝对值的数值参数的函数。


主要参考资料:

1、ISO/IEC 9899:2024