|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrey Dashkovsky 2:5002/46.4 12 Jul 2001 16:50:18 To : Oleg Akulov Subject : Re: задачка -------------------------------------------------------------------------------- 11 Июл 01 20:50, you wrote to all: OA> Есть двоичное четырёх-байтовое число. OA> Как оптимально быстро можно определить, OA> является ли оно степенью двойки? OA> Можно в командах языка Си. OA> Спасибо. Просьба продублировать в нетмейл. Можно такое условие(сдвиг на си не помню как, сам уж переведёшь): (a and 1)+(a shr 1) and 1+(a shr 2) and 1+...+(a shr 31) and 1=1 или всё это в цикле, т.о. если битов равных 1 - 1, то это степень двойки, можно также на си (a==1)+(a==2)+(a==3)+...+(a=0x80000000)==1 - можно и такое условие соорудить Andrey ... ... Лyчше yжасный конец, чем yжас без конца... --- GoldED+/386 1.1.4.7 * Origin: Всёфигня кроме пчёл,хотя пчёлы,еслиподумать,тоже фигня (2:5002/46.4) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/143013b4de469.html, оценка из 5, голосов 10
|