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

nextafterl函数


概要:
#include <math.h>
long double nextafterl(long double x, long double y);

描述:

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

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

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


参数:
long double x

参数为long double类型的浮点数。

long double y

参数为long double类型的浮点数。


返回值:

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


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

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

int main(void)
{
    long double x = 3.00L;
    long double y = 4.00L;

    printf("%.*Lf\n", (LDBL_DECIMAL_DIG-1), nextafterl(x,y));

    return 0;
}

输出:

3.00000000000000000022


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


主要参考资料:

1、ISO/IEC 9899:2024

2、ISO/IEC 9899:2018