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

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

Ответ
 
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
дезинформация - они имеют тип long, что существенно

ага, и real тоже лонг?) а вообще какая разница между лонг и дворд?
Цитата:
dword - это вообще мера длинны

так и есть, все переменные в жассе 32вторые, со всеми вытекающими

Цитата:
кто сказал такую глупость?

это не глупость, а результат тестов. я лично тестил стопВатчем - обращение к локалке быстрее (незначительно)
Старый 13.11.2008, 15:34
J
expert
offline
Опыт: 48,447
Активность:
typedef unsigned long DWORD
Цитата:
глобалки медленне чем локалки
ну это возможно, может у них разные способы хранения.
Старый 13.11.2008, 15:41
NETRAT

offline
Опыт: 83,712
Активность:
разница между ТИПАМИ DWORD и LONG в знаке, соответственно, интервалы хранения данных разные

знак вытекает не из длинны переменной а из способа обращения к ней

очевидно, потому, что есть возможность оверрайдить эти имена, называя локалку именем глобалки, это ни разу не означает что
Цитата:
глобалки медленне чем локалки
Старый 13.11.2008, 15:42
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
dword - это вообще мера длинны, используется в качестве обозначения беззнакового типа аналогичной длинны

он имел ввиду что они зависят от оси? т.е. ось всегда вин32, т.е. 4 байта там лонг вроде?

ScorpioT1000 добавил:
Цитата:
Тем более глобалки медленне чем локалки.

это чепуха

ScorpioT1000 добавил:
Цитата:
а вообще какая разница между лонг и дворд?

плакал =)
Старый 13.11.2008, 15:49
NETRAT

offline
Опыт: 83,712
Активность:
ну вы как дети малые...
char - буква / символ (8 битт)
word - слово (две буквы)
dword - два слова
это, вообще говоря, не типы
типы это
int
real
float
double
byte
dword
и т.п.
Если ты говоришь что переменная имеет тип DWORD это означает что она имеет длинну 32 битта, не имеет знака, и размещается она в памяти с двойным свапом байтов (h1 l1 h2 l2 <-> l2 h2 l1 h1) фактически, байты идут в обратном порядке(reversed bytes order). Если ты говоришь что переменная имеет длинну DWORD то это нихрена не значит кроме того что она имеет длинну 32 битта.
Старый 13.11.2008, 15:53
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
разница между ТИПАМИ DWORD и LONG в знаке, соответственно, интервалы хранения данных разные

хотя это уже тупо спор-срачег, но я с трудом представляю знаковый хендл)

тем более что знаковые и беззнаковые инты отличаются только способом делением/умножением насколько я помню (ну функции которые к примеру I2S но это они уже делают сами)

// ну и сравнением еще

что ты понимаешь под интервалом хранения?

Цитата:
знак вытекает не из длинны переменной а из способа обращения к ней

дык, какое тогда дело то до типа?

кстате, помню интересный случай, когда я использовал рб + строки, короче вроде все верно, но вар складывал не строки (ну как дб) а их хендлы и выводил потом через рб черти что

Цитата:
глобалки медленне чем локалки


Код:
glob
 g=0
endglob

func
 local int l=0

 set l=l+1
 set g=g+1
endfunc

я тестил стомп ватчем - первое сложение быстрее второго

ADOLF добавил:
Цитата:
char - буква / символ (8 битт)
word - слово (две буквы)
dword - два слова
это, вообще говоря, не типы
типы это
int
real
float
double
byte
dword
и т.п.

эээ?

ADOLF добавил:
Цитата:
фактически, байты идут в обратном порядке(reversed bytes order)

хз, неуверен, но мне казалось что оно всегда идет задомнаперед, это архитектурная особенность интелей

Цитата:
Если ты говоришь что переменная имеет длинну DWORD то это нихрена не значит кроме того что она имеет длинну 32 битта.

я это и говорил

ADOLF добавил:
Цитата:
Цитата:
По идее, локалки не есть хорошо, т.к. переменная = определенный тип, и каждый раз создавая и удаляя в триггере набор локалок столько же раз вызываются конструкторы и деструкторы, хотя я хз как оно с простыми типами вроде риал/инт, но вроде у всех типов есть один базовый.


все переменные в жас - тип dword


воообще читайте смысл а не придерайтесь к словам, все переменные в варе идут 32 и все

ADOLF добавил:
Цитата:
он имел ввиду что они зависят от оси? т.е. ось всегда вин32, т.е. 4 байта там лонг вроде?

длина переменной от оси не зависит

высокоуровневые компиляторы могут генирировать код под разные архитектуры процов, выставляя длину опред. типов оптимальной (16, 32, 64)

ADOLF добавил:
вообще тип переменной - понятие исключительно используемое в компиле (что бы он дурак понял что как делать^^), и к реальному коду оно отношения не имеет

ADOLF добавил:
я все сказал, вроде=)
Старый 13.11.2008, 16:08
NETRAT

offline
Опыт: 83,712
Активность:
че типа 0..2^32-1 и -2^31..0..2^31-1 разницы никакой?
интервал, в котором переменная может принимать значение, частично зависит от доступа к ней
в жассе хендли знаковые ибо доступ в жассе везде одинаковый - Long (приводимый к handle, float, int, string ...)

насечет интересных случаев ниче не знаю пока не потрогаю, почти всегда это либо ошибки кодера либо пустые домыслы

я уже отписался на тему локалок и глобалок, такое впечатление что либо я пишу на непонятном языке, либо никто не читает

NETRAT добавил:
возьмись ты уже за человеческий язык... ДА, DWORD это и название типа и обозначение длинны, о Боги! не может быть! вот это да! одно и то же слово имеет два разных значения.

чем "задомнаперед" отличается от "обратного порядка" и от reversed order?

тогда зачем писать про тип если имеешь ввиду длинну?!

NETRAT добавил:
в жассе это ппц как важно потому что компилятора в нем нет, и никакой проверки типов тоже нет
Старый 13.11.2008, 16:59
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
тогда зачем писать про тип если имеешь ввиду длинну?!

да, наверное про тип я нагнал, но писал я действительно о длине

Цитата:
0..2^32-1 и -2^31..0..2^31-1 разницы никакой?

для проца никакой как ни странно

Цитата:
Сообщение от НТ
знак вытекает не из длинны переменной а из способа обращения к ней
Старый 13.11.2008, 17:57
NETRAT

offline
Опыт: 83,712
Активность:
вроде как тут не проц обсуждается, а Jass, у которого совершенно однозначно фиксирован тип (способ обращения) к любой переменной
забей, главное что теперь все знают в чем разница между long и unsigned long
Старый 13.11.2008, 18:22
Ответ

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

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

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

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



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