我正在尝试理解logb()
的工作,它是manual说“ logb()函数计算x的指数,这是$ \ log_r ^ {|的整数部分x |} $,作为有符号浮点值,对于非零x,,其中r是机器浮点算术的基数。“
我很想知道为特定机器计算这个r
吗?
答案 0 :(得分:4)
FLT_RADIX
中的 <float.h>
。在现实世界中,它总是2,IEEE浮点数要求它为2。
答案 1 :(得分:3)
您可以使用标题std::numeric_limits
中的模板<limits>
在给定计算机上查询给定浮点类型的radix。
#include <limits>
std::numeric_limits<float>::radix;