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

C - прикол

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

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

[identity profile] sphinks82.livejournal.com 2007-03-07 08:41 am (UTC)(link)
ну этот баг легко убирается вроде:
!( x & (x - 1) ) && x

[identity profile] psilogic.livejournal.com 2007-03-07 04:59 pm (UTC)(link)
угумс :)