psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2007-03-06 03:50 pm

C - прикол

Как быстро проверить, является ли число степенью двойки?
На входе дано беззнаковое целое ненулевой разрядности, допускающее все операции языка C для типа unsigned. На выходе должно быть bool.

Циклы, ясное дело, не приветствуются. Мой ответ пока заскринен.

[identity profile] minimuk.livejournal.com 2007-03-07 04:00 am (UTC)(link)
!(value && 1) ?
Оставляем первый бит получаем нечетное число,
не_нечетно => четное