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

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

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

offline
Опыт: 43,833
Активность:
Хм... по моему так (обьясняю своим языком) -
переменную 1 переместить в переменную 3
переменную 2 переместить в переменную 1
Переменную 1 поместить в переменную 2
Удалить нафиг переменную 3.
Вроде так...
Старый 09.02.2007, 11:25
DioD

offline
Опыт: 45,134
Активность:
задачка имхо тупая, искать заведо неоптимальное решение бред
Старый 09.02.2007, 11:34
MPI3
Хм...
offline
Опыт: 24,597
Активность:
Цитата:
set a=a+b
set b=a-b
set a=a-b


Так получаются значения а и b одинаковые!!!
Старый 09.02.2007, 11:50
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
MPI3 - жж0ш :)
Цитата:
a=10
b=15
set a=a+b // a=10+15=25
set b=a-b // b=25-15=10
set a=a-b // a=25-10=15
Старый 09.02.2007, 12:05
Lord of Death
Потерянный надолго
offline
Опыт: 3,008
Активность:
Вы чё все из мухи слона раздули? Правильный уже сказали:
Цитата:
set a=a+b
set b=a-b
set a=a-b

И всё, закрывайте.
Старый 09.02.2007, 14:52
NETRAT

offline
Опыт: 83,712
Активность:
nic666
Цитата:
указанная конструкция в ПЯТЬ РАЗ медленее чем при использовании третей переменной... все это съедают сложения и вычитания, а также 6 обращений к памяти вместо 3х....
Откуда такие точные данные? =) следует учесть что жасс - не ассемблер и падение производительности может быть больше

вообще, в ассемблере есть команда, меняющая местами значения триггеров
Старый 09.02.2007, 15:02
nic666

offline
Опыт: 5,612
Активность:
NETRAT
ну тем не менее я раньше это тестировал на ассемблере не используя этой команды...

nic666 добавил:
с регистрами процессора - оч. даже хорошо- в 2 раза где то хуже... а через память в пять....

nic666 добавил:
Цитата:
Сообщение от MPI3
Так получаются значения а и b одинаковые!!!

Ага! Давай попробуй проверь... удивишься...

P.S.
заело... одднако...
Старый 09.02.2007, 15:38
DioD

offline
Опыт: 45,134
Активность:
джаз это свой "вселенная" данные с ассемблера не стоят ничего в данном случае.
swap есть в любом языке програмирования, так что ассемблер не уникален
Старый 09.02.2007, 15:58
NETRAT

offline
Опыт: 83,712
Активность:
nic666 ого, ассемблерный свап работает быстрее чем присвоения - куда быстрее чем через переменную(память) и быстрее чем через регистр, на то и рассчитаны flip-flop триггеры
Старый 09.02.2007, 16:05
Joltd

offline
Опыт: 1,090
Активность:
Зачем такой геморой? DioD писал ранее что проще ввести третью переменную - и другим будет проще разобраться и сам потом (по прошествии времени) не будешь мучиться
Старый 09.02.2007, 16:33
Garret
Недоброе творится
offline
Опыт: 3,893
Активность:
Цитата:
Сообщение от MPI3
Вот у мну есть(например) 2 переммные: инт1 и инт2.
Как обменять их значенияЮ без вмешательства третей???

вопрос видел?
Старый 09.02.2007, 16:42
Joltd

offline
Опыт: 1,090
Активность:
Где может быть такой случай, когда категорически нельзя вводить третью переменную?
Старый 09.02.2007, 16:48
MPI3
Хм...
offline
Опыт: 24,597
Активность:
Где их и так уже много. Ты не думал, что в обычной карте может быть больше 200 переменныйх???У Крола спроси...+ еси юзать джасс\cs геморой в создании 3-й локальной переменной!!!
Старый 11.02.2007, 09:40
Закрытая тема

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

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

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

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



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