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

nextafterd128函数


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

描述:

该函数确定沿参数y方向、参数x后的下一个可表示值。即使该函数以宏实现,参数x、y也将转换成_Decimal128类型。

如果参数x等于参数y,函数返回参数y。

如果参数x是_Decimal128类型可表示的最大有限值,并且结果是无限值或者使用_Decimal128类型不能表示的值,则可能发生范围错误。如果x≠y,并且结果是次规格化数或者0,将发生范围错误。


参数:
_Decimal128 x

参数为_Decimal128类型的浮点数。

_Decimal128 y

参数为_Decimal128类型的浮点数。


返回值:

函数返回沿参数y方向、参数x后的下一个可表示值。


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

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

int main(void)
{
    #if __STDC_VERSION_MATH_H__ >= 202311L && defined(__STDC_IEC_60559_DFP__)
        _Decimal128 x = 3.0dl;
        _Decimal128 y = 4.0dl;

        printf("%.*DDf\n", DEC128_MANT_DIG, nextafterd128(x,y));
    #else
        puts("The implementation does not support nextafterd128 function.");
    #endif

    return 0;
}

输出:

The implementation does not support nextafterd128 function.


相关内容:
nextafter 确定double类型的下一个可表示值的函数。
nextafterf 确定float类型的下一个可表示值的函数。
nextafterl 确定long double类型的下一个可表示值的函数。
nextafterd32 确定_Decimal32类型的下一个可表示值的函数。
nextafterd64 确定_Decimal64类型的下一个可表示值的函数。


主要参考资料:

1、ISO/IEC 9899:2024