Мне нужно найти наименьшую степень, равную двум, что больше или равно заданному значению. Пока у меня есть это:
int value = 3221; // 3221 is just an example, could be any number
int result = 1;
while (result < value) result <<= 1;
Он отлично работает, но чувствует себя наивным. Есть ли лучший алгоритм для этой проблемы?
ИЗМЕНИТЬ. Были некоторые приятные ассемблерные предложения, поэтому я добавляю те теги к вопросу.