(n & -n) == n

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

(n & -n) == n

Сообщение ajkj3em »

определяет является ли n степенью двойки. круто.
(найдено в каком-то форуме по marmot'ской ссылке)

есть еще такие феньки -

Код: Выделить всё

for (i=0; n; i++, n -= (n & -n));
for (i=0; n; i++, n &= (n-1));
считают количество выставленных бит в n
Ответить