主页C++ Builder 资料C++ Builder 参考手册cfloat 浮点数_logb, _logbl
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 字母顺序排列的目录
网友留言/技术支持
_logb, _logbl - 取出浮点数的指数部分

_logb, _logbl:取出浮点数的指数部分

函数原型:

double _logb(double x);
long double _logbl(long double x);

头文件:

#include <cfloat>

命名空间:

std

参数:

x:浮点数,定义域范围为 [-Infinity, +Infinity]

返回值:

提取浮点数的指数部分,得到的结果是整数值,按照对数函数的规则,x 为零或无穷大时函数的返回值为无穷大
例子程序的运行结果来看,这一组函数的返回值为 x 的绝对值取以 2 为底的对数的整数部分,即 log2|x| 的整数部分
如果需要对数函数,请参考 log2loglog1p 等函数

例子:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Memo1->Lines->Add(L"_logb(  0    ) = " + FloatToStr(std::_logb(  0.0    )));
  Memo1->Lines->Add(L"_logb(  0.125) = " + FloatToStr(std::_logb(  0.125  )));
  Memo1->Lines->Add(L"_logb(  1    ) = " + FloatToStr(std::_logb(  1.0    )));
  Memo1->Lines->Add(L"_logb(  2    ) = " + FloatToStr(std::_logb(  2.0    )));
  Memo1->Lines->Add(L"_logb(  3    ) = " + FloatToStr(std::_logb(  3.0    )));
  Memo1->Lines->Add(L"_logb(256    ) = " + FloatToStr(std::_logb(256.0    )));
  Memo1->Lines->Add(L"_logb(1e100  ) = " + FloatToStr(std::_logb(1e100    )));
  Memo1->Lines->Add(L"_logb( +∞    ) = " + FloatToStr(std::_logb( Infinity)));
  Memo1->Lines->Add(L"_logb( -2    ) = " + FloatToStr(std::_logb( -2.0    )));
  Memo1->Lines->Add(L"_logb( -∞    ) = " + FloatToStr(std::_logb(-Infinity)));
  Memo1->Lines->Add(L"_logb(-1e100 ) = " + FloatToStr(std::_logb(-1e100   )));
}

兼容性:

这一组函数不是标准 C/C++ 函数,只有 bcc32 支持。
例子程序的运行结果来看,这一组函数的返回值为 x 的绝对值取以 2 为底的对数的整数部分,即 log2|x| 的整数部分
如果需要对数函数,请参考 log2loglog1p 等函数

函数 \ C++ Builder 编译器 bcc32 clang32 clang64
_logb    
_logbl    

相关链接:

log2loglog1p_matherr浮点数异常处理

◤上一页:_copysign, _copysignl下一页:_scalb, _scalbl

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