I2R

Добавлен
Нужно ли использовать эту функцию во время сравнений и мат. операций для конвертации целочисленных в числа с плавающей точкой?

Ок, вечером протестирую, выложу результат.
Протестировал без циклов и в разных потоках, без умножения и функции быстрее.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
functio
решил проблему
Каким оброзом Стан юнит записовался в переменую я не пойму но как то записовался я даже пытался ставить иф чтоб тока герой мог записаца не помагало пришлось после поставет
после запесе
ответ
Проблема решена, причина была в моей криворукости.
ответ
А, всё. Уже самостоятельно понятно )))
Догадавшимся мб поставлю лайк.
ответ
Проблема в том что это конверт из ГУИ со всякими ненужными бжфункциями типа GetLastCreatedLightningBJ() и CountUnitsInGroup(Group) == 0 вместо FirstOfGroup(Group)==null, без форматирования под код, в котором черт ногу сломит.
target_integer - переменная объявлена, нигде не используется, и т.д.
ответ
Clamp:
Статью уже кидали, ответа на вопрос там нет.
Давно видел эту статейку на HIVE, думал, что её уже давно кинут сюда)
Там и есть ответы на интересующие меня вопросы.
Вот тут ещё об этом.

17
Сомневаюсь что округляться будет в нужную сторону, да и легче сразу real сравнивать.
13
Integer наследует Real, поэтому переменную типа integer можно использовать, как real (но не наоборот).
28
PyCCKuu_4eJl:
Сомневаюсь что округляться будет в нужную сторону, да и легче сразу real сравнивать.
Простите, а что будет округлятся у целочисленных?
Fakov:
Эм? А почему сразу real не сравнивать?
Ситуация такая. Есть число целое, есть нецелое. Мне нужно их сравнить\сложить\умножить\разделить\вычесть.
Вопрос: нужно ли конвертировать целое в нецелое с помощью I2R(), и что будет, если этого не сделать?
Я вот на HIVE читал, что I2R(int) медленнее, чем int * 1.0, но я хотел бы уточнить эту информацию и выяснить вообще необходимость конвертации как и с помощью I2R(), так и с помощью умножения на 1.0.
Пушистый:
Integer наследует Real, поэтому переменную типа integer можно использовать, как real (но не наоборот).
Нет, integer базовый тип, да и хранятся они по-разному.
16
если один из операндов реал, то второе будет автоматом сконвертировано. если операнды не используют точку, то будет работать как с целыми. вызов функции дороже мат. операции.
28
вызов функции дороже мат. операции.
Понятно, а зачем тогда вообще функция I2R()?
Что потребует больше времени?
local real r = 100.
local integer i = 100
local real u = r + i * 1.
// или
local real r = 100.
local integer i = 100
local real u = r + i
local real r = 100.
local integer i = 100
local boolean b = r != i * 1.
// или
local real r = 100.
local integer i = 100
local boolean b = r != i
16
Ну просто функция - это официальный вариант, а можно перемножить
Затраты времени в мат операциях ничтожны по определению
28
Ну просто функция - это официальный вариант, а можно перемножить
Нужно ли вообще перемножать?
Что потребует больше времени?
local real r = 100.
local integer i = 100
local real u = r + i * 1.
// или
local real r = 100.
local integer i = 100
local real u = r + i
local real r = 100.
local integer i = 100
local boolean b = r != i * 1.
// или
local real r = 100.
local integer i = 100
local boolean b = r != i
20
Жасс расходует время на чтение символов (на хайве видел 5мс на сисвол, но, вероятно, имелось в виду мкс или типа того, ибо иначе выходит больно жирно, не уверен. Расходуется больше времени на чтение чем на подобные мелкие операции. Но делать сильно крутую оптимизацию стоит лишь для циклов, групп юнитов и т.п. Не лагает - забей. Хотя имеет смысл научиться сразу все делатб по человечески, да :)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.