XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
2^32
да макс это 31 степень это я знаю...
а просто хочу что бы вы "мыслили по своему" а не как вам сказали или т.д. !
Старый 22.03.2007, 14:26
Toadcop

offline
Опыт: 54,313
Активность:
короче вот моё решение... мну оно больше всего понравилось... =)
Код:
function log2 takes integer val returns integer
  if val>4194304 then
    return Pow2[val/1000000+2]    
  elseif val>1024 then
    return Pow2[val/1000+1]
  else
    return Pow2[val]
  endif  
    return 0
endfunction

function Initlog2 takes nothing returns nothing
    set Pow2[0]=0
    set Pow2[1]=0
    set Pow2[2]=1
    set Pow2[4]=2
    set Pow2[8]=3
    set Pow2[16]=4
    set Pow2[32]=5
    set Pow2[64]=6
    set Pow2[128]=7
    set Pow2[256]=8
    set Pow2[512]=9
    set Pow2[1024]=10
    set Pow2[3]=11
    set Pow2[5]=12
    set Pow2[9]=13
    set Pow2[17]=14
    set Pow2[33]=15
    set Pow2[66]=16
    set Pow2[132]=17
    set Pow2[263]=18
    set Pow2[525]=19
    set Pow2[1049]=20
    set Pow2[2098]=21
    set Pow2[4195]=22
    set Pow2[10]=23
    set Pow2[18]=24
    set Pow2[35]=25
    set Pow2[69]=26
    set Pow2[136]=27
    set Pow2[270]=28
    set Pow2[538]=29
    set Pow2[1075]=30
    set Pow2[2149]=31
    set Pow2[4296]=32
endfunction


Initlog2 функция должна быть визвана при инциализаци или где то ещё =) что бы установить значения переменым (ячейкам массива)...
ну вот как всё просто и БЫСТРЕЙ ! это самое важное !
Старый 23.03.2007, 00:12
WordEdit

offline
Опыт: 11,597
Активность:
Да...а ты уверен что это работает?Допустим, в ф-ию log2 подаётся число 2048, по твоему алгоритму должно быть выполнено действие return Pow2[val/1000+1] т.е Pow2[3,048], а по твоей задумке должно быть Pow2[3].
Алгоритм вообще не рабочий.
Старый 24.03.2007, 15:52
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
return Pow2[val/1000+1] т.е Pow2[3,048], а по твоей задумке должно быть Pow2[3].
- нет сын мой это не по моей задумки это так и есть целочисленое деление откидывает остаток от деления иначе была бы ошибка синтаксиса из за того что я даю туда рил а не инт !
этот алгоритм работает на 1000% безотказно. сравнительно я ВСЕГДА тестирую что пишу.

ЗЫ я очень сдерживалса в моём ответе моё мнение о тебе очень низкого уровня...
Старый 24.03.2007, 16:02
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:24.