主页C++ Builder 资料C++ Builder 参考手册cfloat 浮点数_nextafter, _nextafterl
C++ Builder 串口控件
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
基础知识
cfloat 浮点数
 • 浮点数类型
 • 浮点数异常处理
 • _finite, _finitel
 • _isinf, _isinfl
 • _isnan, _isnanl
 • _fpclass, _fpclassl
 • _chgsign, _chgsignl
 • _copysign, _copysignl
 • _logb, _logbl
 • _scalb, _scalbl
 • _nextafter, _nextafterl
 • _clear87, _clearfp
 • _control87, _controlfp
 • _status87, _statusfp
 • _fpreset
cmath 数学函数
cstdlib 标准库函数
System 字符串
System 日期和时间
System.Math.hpp 数学函数
其他数据类型
VCL 基础类
VCL 应用程序
Pictures 图片
Graphics 绘图
Additional 控件
System 控件
A ~ Z 字母顺序排列的目录
网友留言/技术支持
_nextafter, _nextafterl - x 向 y 方向的最接近于 x 的浮点数值

_nextafter, _nextafterl:x 向 y 方向的最接近于 x 的浮点数值

函数原型:

double _nextafter(double x, double y);
long double _nextafterl(long double x, long double y);

头文件:

#include <cfloat>

命名空间:

std

参数:

x,y:浮点数

返回值:

x 向 y 方向的最接近于 x 的浮点数值
• 如果 x<y,返回值是比 x 大的最接近于 x 的浮点数
• 如果 x>y,返回值是比 x 小的最接近于 x 的浮点数
• 如果 x==y,返回值是 x
• 如果 x 和 y 当中有一个是 NAN,那么返回值是 NAN

例子:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  UnicodeString s;
  s.cat_sprintf(L"_nextafter( 2.5     , 10.0    ) = %24.18lg\r\n", std::_nextafter( 2.5     , 10.0    ));
  s.cat_sprintf(L"_nextafter( 2.5     ,-10.0    ) = %24.18lg\r\n", std::_nextafter( 2.5     ,-10.0    ));
  s.cat_sprintf(L"_nextafter( 1.25e45 ,  0      ) = %24.18lg\r\n", std::_nextafter( 1.25e45 ,  0      ));
  s.cat_sprintf(L"_nextafter( 1.25e45 ,  1.23e55) = %24.18lg\r\n", std::_nextafter( 1.25e45 ,  1.23e55));
  s.cat_sprintf(L"_nextafter(-1.25e45 ,  0      ) = %24.18lg\r\n", std::_nextafter(-1.25e45 ,  0      ));
  s.cat_sprintf(L"_nextafter(-1.25e45 , -1.23e55) = %24.18lg\r\n", std::_nextafter(-1.25e45 , -1.23e55));
  s.cat_sprintf(L"_nextafter( 1.25e-45,  0.0    ) = %24.18lg\r\n", std::_nextafter( 1.25e-45,  0.0    ));
  s.cat_sprintf(L"_nextafter( 1.25e-45,  1.0    ) = %24.18lg\r\n", std::_nextafter( 1.25e-45,  1.0    ));
  s.cat_sprintf(L"_nextafter(-1.25e-45,  0.0    ) = %24.18lg\r\n", std::_nextafter(-1.25e-45,  0.0    ));
  s.cat_sprintf(L"_nextafter(-1.25e-45, -1.0    ) = %24.18lg\r\n", std::_nextafter(-1.25e-45, -1.0    ));
  s.cat_sprintf(L"_nextafter( NaN     , -1.0    ) = %24.18lg\r\n", std::_nextafter( NaN     , -1.0    ));
  s.cat_sprintf(L"_nextafter(-1.0     , -NaN    ) = %24.18lg\r\n", std::_nextafter(-1.0     , -NaN    ));
  Memo1->Lines->Text = s;
}

兼容性:

函数 \ C++ Builder 编译器 bcc32 clang32 clang64
_nextafter  
_nextafterl  

相关链接:

_finite_isinf_isnan_fpclass_control87SetExceptionMask_matherr浮点数异常处理

◤上一页:_scalb, _scalbl下一页:_clear87, _clearfp

C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号