C/C中的nextafter()和nexttoward()++

您将如何在C/C++中解决以下问题?

null
  • C/C++中可表示的最小正浮点数是多少?
  • C/C++中最大的可表示负浮点数是多少?
  • 给定一个正浮点数x,找到小于x的最大可表示浮点数?

下一次(x,y)和下一次(x.y) 在C和C++中,NEXTAFFTER(X,Y)和NEXToWOWD(X.Y)都是数学中定义的相似函数。h或cmath头文件。它们都返回y方向x之后的下一个可表示值。 nexttoward()具有更精确的第二个参数y。

以下程序演示了这一概念:

// C program to demonstrate use of nextafter() and nexttoward()
#include <stdio.h>
#include <math.h>
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);
}


输出:

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 

本文由 再见,查特吉。 如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享