|
|
 |
 |
|
|
|
|
|
|
 |
| Форум «Легенда: Наследие Драконов» |
|
 |  |
|
|
20 Апреля 2013 14:10:08
|
|
|
у меня 1367 здоровья
выпив фиолетовый гиг в бою, у меня становится 2050 хп
умножаем 1367*1,5=2050,5
во всем мире 0,5 округляется в сторону единицы, кроме двара...
собственно ничего удивительного, просто лишний раз убедился в математических способностях создателей....
Кто хочет - ищет способ, кто не хочет - ищет причину.
Дорогу осилит идущий.
00:39 Vedmochka » отдайка: ... Ваши эмоции чаще, чем раз в 3 мин
|
|
|
New death [10]
|
21 Апреля 2013 00:50:08
#39
|
|
|
|
LordG
Я, может, что-то путаю, но, например, результаты измерений зачастую округляют примерно поровну в обе стороны(это я про 0.5).
-LeFF-
Я думаю, что тут просто производят умножение, результат которого приводят к целочилсенному типу.
И сомневаюсь, что при приведении типов используется round.
Нечто похожее было со свитками исцеления. Пришлось фиксить, вводя какой-то там параметр, который невилировал погрешность результата целочисленных операций.
И все таки я считаю, что тяжем надо поднять ХП на 50%!
|
|
|
Clark [10]
|
21 Апреля 2013 00:56:05
#40
|
|
|
|
Как из половины можно получить цело?))
Напротив, самое логичное - округлять в минус.
Более того, есть очень классический косяк.
В своё время меня коллега-программист предупреждал о нем, мол когда всё-таки решишь программировать - 100% наткнешься на этот косяк)) - я тогда и не особо понял о чем и вообще забыл 100 раз...
Спустя 2 года, когда дошли руки - уперся как-то попалась задачка, из-за которой потерял 15 минут))
Задачка: Узнать процентаж текущего числа от максимального.
Например число 74 из 150. Сколько это в процентах?)
Значит формула процентов - 74 делим на 150 и умножаем на 100 и получаем ~49%
Уверен, что на калькуляторе у вас так и получится))) Хоть 10000 раз.
Но в коде, всегда получится 0.
А знаете почему?
А прежде чем прочитать ответ который я написал ниже попробуйте сами понять)) интересно ведь.
Потому что 74 делим на 150 получаем 0,49 (далее система округляет, угадайте в какую сторону?))) правильно, получается 0, а потом уже умножаем на 0))
таким образом, первое действие формулы нужно начинать с умножения. 74 * 100 и делим на 150, тогда всё ок)))
|
|
|
logdon [12]
|
21 Апреля 2013 01:00:12
#41
|
|
|
Red_Hawk Чисто субботний топ... Автор абсолютно прав - несерьезно это ... 0.5 во всем мире округляют до литра... а мы еще ни в одном глазу :)
я округлил до 7 литров уже)))
|
|
|
Карри [12]
|
21 Апреля 2013 01:26:54
#42
|
|
|
|
Anabol_Bada
а с чего вы вообще взяли что тут чтото округляется просто может неотображаются цифры после запятой и у тс на самом деле 2050,5 просто показывает только целую часть числа
|
|
|
 |
|
 |

|
 
© ООО «АСТРУМ ЛАБ».
Все права защищены.
Все товарные знаки являются собственностью их владельцев.
|
|
|
|
|
|
|
|
|