Автор Тема: Степень двойки  (Прочитано 8364 раз)
Ivan A. Kosarev
Новенький
*
Offline Offline

Сообщений: 3


Просмотр профиля
« : Апрель 03, 2012, 10:46:21 »

Степень двойки в двоичном представлении -- это единственный взведенный разряд в какой-либо позиции. Если в двоичном представлении степени двойки единственный взведенный разряд имеет позицию b, тогда у числа на единицу меньшего этой степени двойки все разряды младше b будут взведены, а все остальные, включая разряд в позиции b, сброшены. Значит, степень двойки -- это число, которое не равно нулю и не имеет общих взведенных разрядов с числом, на единицу меньшим этой степени двойки.

Код:
int is_power_of_two(unsigned n)
{
    return (n != 0 && (n & (n - 1)) == 0);
}

Эти пользователи сказали вам СПАСИБО :

Вилли ☂

За это сообщение 1 пользователь сказал спасибо!
Записан