这是两个"地板"和"天花板"函数,但它们舍入到最近的2的整数幂。
1.下舍入
无分支算法基于右传播最高位。比较有意思的做法:
有两个简单循环做法:
后者是基于后缀0的做法。
2.上舍入
右传播技巧为上舍入提供了好的算法。
文章内容摘自《高效能程序的奥秘》,作者认为很多无分支做法效率胜过带分支的算法,因为后者会抑制cpu预取指令。
简单循环的做法不太好,因为对0需要特殊处理。
这是两个"地板"和"天花板"函数,但它们舍入到最近的2的整数幂。
1.下舍入
无分支算法基于右传播最高位。比较有意思的做法:
有两个简单循环做法:
后者是基于后缀0的做法。
2.上舍入
右传播技巧为上舍入提供了好的算法。
文章内容摘自《高效能程序的奥秘》,作者认为很多无分支做法效率胜过带分支的算法,因为后者会抑制cpu预取指令。
简单循环的做法不太好,因为对0需要特殊处理。