psilogic: (Default)
[personal profile] psilogic
Как быстро проверить, является ли число степенью двойки?
На входе дано беззнаковое целое ненулевой разрядности, допускающее все операции языка C для типа unsigned. На выходе должно быть bool.

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

Date: 2007-03-06 01:41 pm (UTC)
From: [identity profile] psilogic.livejournal.com
гут! :)
осталось исправить баг: ноль - не степень двойки, а он под эту формулу подходит

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

Date: 2007-03-07 04:59 pm (UTC)
From: [identity profile] psilogic.livejournal.com
угумс :)
Page generated Aug. 22nd, 2025 06:18 pm
Powered by Dreamwidth Studios