next_power_of_two

simc/event.hpp at shadowlands · simulationcraft/simc https://github.com/simulationcraft/simc/blob/shadowlands/engine/sim/event.hpp

// https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
constexpr unsigned next_power_of_two( unsigned v )
{
v--;
v |= v >> 1;
v |= v >> 2;
v |= v >> 4;
v |= v >> 8;
v |= v >> 16;
v++;

return v;
}

原文地址:https://www.cnblogs.com/rsapaper/p/14426565.html