And*_* H. 4 c c++ floating-point ieee-754
计算浮点数的基数2对数的整数部分的有效方法是什么?就像是
N = ceil( log2( f ))
Run Code Online (Sandbox Code Playgroud)
要么
N = floor( log2( f ))
Run Code Online (Sandbox Code Playgroud)
浮点数f.我想这可能会以某种方式非常有效地实现,因为可能只需要访问浮点指数.
编辑2:我对准确性并不感兴趣.我可以容忍+ -1的错误.我列举了这两个变种只是作为一个例子,因为一个可能在计算上比另一个更便宜(但我不知道).
我需要这个用于算法的精确控制,其中参数f是一些容差,并且需要日志来控制术语的数量.准确计算日志并不重要.
编辑:这不是要求整数参数的log2的其他许多问题的重复(例如,如何在C++中执行整数log2()?).这是关于浮点论证和完全不同的故事.具体来说,我需要f <1,这对于整数方法是不可能的