是否有一个单行表达式(可能是 bool(boolean) 值)来获取给定整数的最接近的2^n
号?
示例:5,6,7必须为8。
最佳答案
四舍五入到下一个更高的2的幂:请参见bit-twiddling hacks。
在C中:
unsigned int v; // compute the next highest power of 2 of 32-bit v
v--;
v |= v >> 1;
v |= v >> 2;
v |= v >> 4;
v |= v >> 8;
v |= v >> 16;
v++;
关于algorithm - 四舍五入到最接近的2的幂,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4398711/