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

How to compute 2^h*ceil(i/2^h)

有没有简单的计算方法:

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

其中 i 和 h 是整数,没有明确使用 ceiling 函数?

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

的方法计算
i&-(1<<h)

不使用floor功能

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

(i + (1 << h) - 1) & (-1 << h)

应该可以。