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

nextafterf函数


概要:
#include <math.h>
float nextafterf(float x, float y);

描述:

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

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

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


参数:
float x

参数为float类型的浮点数。

float y

参数为float类型的浮点数。


返回值:

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


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

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

int main(void)
{
    float x = 3.00f;
    float y = 4.00f;

    printf("%.*f\n", (FLT_DECIMAL_DIG-1), nextafterf(x,y));

    return 0;
}

输出:

3.00000024


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


主要参考资料:

1、ISO/IEC 9899:2024

2、ISO/IEC 9899:2018