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

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

Date: 2007-03-06 02:10 pm (UTC)
From: [identity profile] charon.livejournal.com
Ассемблерной вставкой: вычесть 1 и посмотреть флаг четности.

Date: 2007-03-06 02:17 pm (UTC)
From: [identity profile] psilogic.livejournal.com
смотря что этот флаг показывает...

Date: 2007-03-06 02:22 pm (UTC)
From: [identity profile] charon.livejournal.com
четность операции.

Date: 2007-03-06 02:30 pm (UTC)
From: [identity profile] charon.livejournal.com
а, нет. Вру.

Date: 2007-03-06 02:38 pm (UTC)
From: [identity profile] charon.livejournal.com
надо не вычитать, надо делить.
Page generated Aug. 22nd, 2025 06:06 pm
Powered by Dreamwidth Studios