CPP C++ logo

Вычисление следующего Power of Two без использования цикла.

unsigned nextPOT(unsigned x)
{
   x = x - 1;
   x = x | (x >> 1);
   x = x | (x >> 2);
   x = x | (x >> 4);
   x = x | (x >> 8);
   x = x | (x >> 16);
   return x + 1;
}