C++ 了解logb()的工作原理
我试图理解C++ 了解logb()的工作原理,c++,c,C++,C,我试图理解logb()的工作原理,它说“logb()函数计算x的指数,x是$\log_r^{x|}$的整数部分,作为有符号浮点值,用于非零x,其中r是机器浮点运算的基数。” 我想知道如何为特定机器计算此r?您可以使用标题中的模板std::numeric\u limits查询给定机器上的给定浮点类型 #包括 标准::数值限制::基数; FLT\u基数在中。在现实世界中,它总是2,IEEE浮点要求它是2。@ R.IEEE 74-2008实际上指定基数2和基数10 F-P算法。然而IEEE 754符合
logb()
的工作原理,它说“logb()函数计算x的指数,x是$\log_r^{x|}$的整数部分,作为有符号浮点值,用于非零x,其中r是机器浮点运算的基数。”
我想知道如何为特定机器计算此r
?您可以使用标题
中的模板std::numeric\u limits
查询给定机器上的给定浮点类型
#包括
标准::数值限制::基数;
FLT\u基数
在中。在现实世界中,它总是2,IEEE浮点要求它是2。@ R.IEEE 74-2008实际上指定基数2和基数10 F-P算法。然而IEEE 754符合C或C++实现使用32位和64位(单精度和双精度)。无论是否存在十进制扩展名,float
和double
类型的二进制浮点。下一个C和C++标准修订版可能包含小数浮点的新类型。
#include <limits>
std::numeric_limits<float>::radix;