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;
} |
兼容性:
相关链接:
• _finite • _isinf • _isnan • _fpclass • _control87 • SetExceptionMask • _matherr • 浮点数异常处理
|
|
|
|