[Вопрос] Максимальное значение
|
|
sumert | Дата: Вторник, 10 Января 2012, 12:14:52 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
| У меня сейчс нет возможности проверить это, поэтому задаю такой вопрос: какое максимальное значение в WE принимают типы Integer, Real и String? Заранее благодарен.
|
|
|
|
Ajaccio | Дата: Вторник, 10 Января 2012, 13:53:45 | Сообщение # 2 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Где-то на XGM говорили, что все типы виртуальной машины - производные от DWORD. Тогда пограничные значения integer: от -2^31 до 2^31 - 1, иначе от -2147483648 до 2147483647. Real кодируется каким-то индусским способом, в любом случае брать числа больше 9876543210.0 смысла нет. У string может ограничение на уровне движка есть, не знаю.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
Ty3uK | Дата: Вторник, 10 Января 2012, 13:56:42 | Сообщение # 3 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Не должно быть, С же не имеет ограничений на строку
|
|
|
|
DragoN | Дата: Вторник, 10 Января 2012, 14:03:09 | Сообщение # 4 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| integer - целое 32-битное число (аналог __int32 в Си), принимает значения от -2147483648 до 2147483647. real - реальное 32-битное цисло с плавающей точкой (аналог float на Си), принимает значения от -3.4 * 10^38 до 3.4 * 10^38. Выделяется особенностью хранения – точность может быть сверхвысокой в одних и низкой в других диапазонах Хранение значений в строке работает по принципу UTF-8: все ASCII-символы занимают один байт, остальные – два байта. Максимальный размер строки – 1023 байта. Инфа от Скорпа
El Psy Congroo
|
|
|
|
Ty3uK | Дата: Вторник, 10 Января 2012, 14:07:11 | Сообщение # 5 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Куда же идет последний байт от строки? 1024-ый Добавлено (10 Январь 2012, 14:07:11) --------------------------------------------- И если используется утф-8, то почему при копировании текста из редактора триггеров получается фигня? Даже при использовании соответствующей кодировки
|
|
|
|
Ajaccio | Дата: Вторник, 10 Января 2012, 14:10:07 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Quote (DragoN) real - реальное 32-битное цисло с плавающей точкой (аналог float на Си), принимает значения от -3.4 * 10^38 до 3.4 * 10^38. Выделяется особенностью хранения – точность может быть сверхвысокой в одних и низкой в других диапазонах Игра выдает показывает отрицательное число при попытке вывести 1350851717672992089.0 (3E38), что намекает на переполнение буфера, либо кривую систему вывода. Есть мнение, что Blizzard таки используют свою систему кодирования, а не IEEE754.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
sumert | Дата: Вторник, 10 Января 2012, 14:53:04 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
| Спасибо за ответы.
|
|
|
|
SirNikolas | Дата: Вторник, 10 Января 2012, 15:28:55 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Ty3uK) Куда же идет последний байт от строки? 1024-ый Нуль-символ же.
|
|
|
|