如何计算2 ^ h * ceil(i / 2 ^ h)

时间:2017-05-17 03:57:00

标签: java bit-manipulation arithmetic-expressions

有一种简单的计算方法:

(2^h)*ceil(i/(2^h))

其中i和h是整数,没有明确使用天花板功能?

例如,对于(2 ^ h)* floor(i /(2 ^ h))可以使用

之类的东西计算
i&-(1<<h)

不使用楼层功能。

1 个答案:

答案 0 :(得分:0)

显然你的意思是^取幂而不是按位异或。像

这样的东西
(i + (1 << h) - 1) & (-1 << h)

应该有用。