In this C++ tutorial, you will learn how to find the next representable value after x in direction of y, using nextafter() function of cmath, with syntax and examples.

C nextafter

C++ nextafter(x, y) next representable value after x in direction of y.

Syntax

The syntax of C++ nextafter() is

nextafter(x, y)

where

Parameter Description
x A double, float, long double, or integral type value.
y A double, float, long double, or integral type value.

Returns

The return value depends on the type of value passed for parameter x.

The return value of nextafter() is

  • double if x is double or integral type.
  • float if x is float.
  • long double if x is long double.

The synopsis of nextafter() function is

double nextafter(double x, double y);
float nextafter(float x, float y);
long double nextafter(long double x, long double y);
Promoted nextafter(Type1 x, Type2 y); // where Type1 and Type2 are any integral type values

nextafter() is a function of cmath library. Include cmath library at the start of program, if using nextafter() function.

Example

In this example, we read two values from user, into variables x and y, and compute the next representable value next to x towards y using nextafter() function.

C++ Program

#include <iostream>
#include<cmath>
using namespace std;

int main() {
    long double x, y;
    cout << "Enter x : ";
    cin >> x;
    cout << "Enter y : ";
    cin >> y;

    long double result = nextafter(x, y);
    cout << "Next Value : " << result << endl;
}

Output

Enter x : inf
Enter y : 0
Next Value : 1.79769e+308
Program ended with exit code: 0
Enter x : -inf
Enter y : 0
Next Value : -1.79769e+308
Program ended with exit code: 0
Enter x : 8555246635
Enter y : 0
Next Value : 8.55525e+09
Program ended with exit code: 0

Conclusion

In this C++ Tutorial, we learned the syntax of C++ nextafter(), and how to use this function to find the next representable value of a number in the direction of other number, with the help of examples.