|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Stanislav Shwartsman 2:400/520 20 Jul 2001 16:30:36 To : Max Alekseyev Subject : найти ближайшую бОльшую степень двойки минус 1 -------------------------------------------------------------------------------- 20 Jul 01 16:11, you wrote to Yuriy Kaminskiy: MA> Это на каких данных? Время усредненное? Это на любых. Для любого процессора можно просчитать скоько тактов займет выполнение той или иной программы. YK>> Ключевое слово - условный переход. MA> Ok. A так? Посмотри на свой повнимательнее и вспомни что такое условный переход. MA> long long f2(long long t) MA> { MA> long long z = t; MA> while(z) t|=(z>>=1); ^^^ вот тут например MA> return t; MA> } MA> Или так? MA> long long f3(long long t) MA> { MA> long long z; MA> while(t) t &= (z=t-1); ^^^ или тут MA> return z|(z+1); MA> } Условный переход выполняется крайне медленно на всех современных процах, так что 32 строки кода без него будут значительно быстрее, не говоря уже о том, что в них будет даже меньше комманд на выполнение. E-mail: gate@fidonet.org.il Voice Phones: 972-4-8330554 (home), 972-5-4481073 (cell) Bye ! Stanislav (AKA Night's Man) [Team Technion] --- * Origin: Gate From Another World ... From Haifa, Israel (2:400/520) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.algorithms/17853b585d6b.html, оценка из 5, голосов 10
|