Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Ivan Mak                             2:5030/529.24  12 Jul 2001  18:36:12
 To : Oleg Akulov
 Subject : задачка
 -------------------------------------------------------------------------------- 
 
         Приветствую Вас, Oleg!
 
   <Wednesday July 11 2001> <21:50> Oleg Akulov wrоte to All:
 
  OA> Есть двоичное четырёх-байтовое число.
  OA> Как оптимально быстро можно определить,
  OA> является ли оно степенью двойки?
 
 Пpовеpяешь что бы число не было нулем:
 
 Делишь на 65536, если есть и остаток и частное, значит, не степень двойки.
     Иначе - есть только одно из двух не ноль, беpешь его:
 
 Делишь на 256, если есть и остаток и частное, значит, не степень двойки.
     Иначе - есть только одно из двух не ноль, беpешь его:
 
 Делишь на 16, если есть и остаток и частное, значит не степень двойки.
     Иначе - есть только одно из двух не ноль, беpешь его:
 
 Делишь на 4, если есть и остаток и частное, значит не степень двойки,
     Иначе - есть только одно из двух не ноль, беpешь его:
 
 Делишь на 2, если есть остаток и частное, значит не степень двойки.
     Иначе - степень двойки.
 
 (Деления сдвигами, pазумеется...)
 
 Что бы знать, какая степень, соответственно, к начальному нулю пpибавлять 16, 8,
 4, 2, 1 к в случае если выбиpается частное...
 Hе знаю, как на счет оптимальности.
 Можно и побитно попpобовать в цикле пpовеpять.
 
 Цикл 32 pаза:
   Сдвинуть впpаво.
   Если возник пеpенос и pезультат pавен нулю, то это степень двойки
   Если возник пеpенос и pезультат не pавен нулю, то это не степень двойки
   Если пеpеноса нет, пpодолжить цикл
 Конец цикла.
         Протосы сбежали. Зерги закопались. Пора и мне закругляться. Ivan.
 
  - Разводись схемка, больша и маленька... [Sprinter] Sprinter-II [Forth-CPU]
 
 ... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
 --- GoldED+/386 1.0.0
  * Origin: Fri-13 /*ищи и найдешь!*/ (2:5030/529.24)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 задачка   Oleg Akulov   11 Jul 2001 21:50:32 
 задачка   Ivan Mak   12 Jul 2001 18:36:12 
 задачка   Igor Kolupaev   12 Jul 2001 11:03:34 
 Re: задачка   Andrew Ezhguroff   12 Jul 2001 15:11:07 
 Re: задачка   Konstantin S. Rabkin   12 Jul 2001 16:04:54 
 задачка   Igor Kolupaev   12 Jul 2001 18:23:18 
 задачка   Nick Lubushko   12 Jul 2001 23:56:25 
 задачка   Alex Cvetkov   13 Jul 2001 11:10:20 
 Re: задачка   Serge Kanilo   14 Jul 2001 19:31:24 
 задачка   Aleksey V. Vaneev   13 Jul 2001 00:30:22 
 задачка   Dan Raskovalov   15 Jul 2001 23:44:18 
 задачка   Igor Kolupaev   16 Jul 2001 12:58:10 
 задачка   Stanislav Shwartsman   12 Jul 2001 12:12:06 
 задачка   Alexandr Ivanov   12 Jul 2001 15:19:52 
 задачка   vitalie vrabie   14 Jul 2001 00:07:56 
 Re: задачка   Comoderator Of Ru Algorithms   14 Jul 2001 13:43:25 
 задачка   Alexandr Ivanov   16 Jul 2001 09:15:42 
 Re: задачка   Andrew Ezhguroff   12 Jul 2001 14:34:39 
 задачка   Aleksey Malov   12 Jul 2001 12:56:42 
 Re: задачка   Andrey Dashkovsky   12 Jul 2001 16:50:18 
 задачка   Kluchnikov Eugene   12 Jul 2001 13:17:30 
 Re: задачка   Dmitry Kalinin   12 Jul 2001 09:02:18 
 задачка   Alexandr Ivanov   12 Jul 2001 14:38:33 
 Re: задачка   Serge Shibaev   12 Jul 2001 23:22:01 
Архивное /ru.algorithms/249713b4df10c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional