# nextafter() and nexttoward() in C/C++

How would you solve below problems in C/C++?

• What is the smallest representable positive floating point number in C/C++?
• What is the largest representable negative floating point number in C/C++?
• Given a positive floating point number x, find the largest representable floating point value smaller than x?

nextafter(x, y) and nexttoward(x.y)
In C and C++, both nextafter(x, y)  and nexttoward(x.y)  are similar functions defined in math.h or cmath header files. They both return next representable value after x in the direction of y. nexttoward() has more precise second parameter y.

The following program demonstrates the concept :

 `// C program to demonstrate use of nextafter() and nexttoward() ` `#include ` `#include ` `int` `main () ` `{ ` `    ``// using nextafter ` `    ``printf` `(````"Smallest positive floating point number : %e "````, ` `            ``nextafter(0.0, 1.0)); ` `    ``printf` `(````"Largest negative floating point number :%e "````, ` `            ``nextafter(0.0, -1.0)); ` `    ``printf` `(````"Largest positive floating point number smaller than 0.5 : %e "````, ` `            ``nextafter(0.5, 0.0)); ` ` `  `    ``// using nexttoward ` `    ``printf` `(````"Smallest positive floating point number : %e "````, ` `            ``nexttoward(0.0, 1.0)); ` `    ``printf` `(````"Largest negative floating point number : %e "````, ` `            ``nexttoward(0.0, -1.0)); ` `    ``printf` `(````"Largest positive floating point number smaller than 0.5 : %e "````, ` `            ``nexttoward(0.5, 0.0)); ` `    ``return` `(0); ` `} `

Output:

```nextafter first value greater than zero: 4.940656e-324
nextafter first value less than zero: -4.940656e-324
nexttoward first value greater than zero: 4.940656e-324
nexttoward first valnextafter first value greater than zero: 4.940656e-324
nextafter first value less than zero: -4.940656e-324
nexttoward first value greater than zero: 4.940656e-324
nexttoward first value less than zero: -4.940656e-324 ue less than zero: -4.940656e-324 ```

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

This article is attributed to GeeksforGeeks.org

## tags:

C C++ CPP-Library C CPP

code

load comments