Легенда: Наследие Драконов – бесплатная ролевая онлайн игра
Вы не авторизованы
Войдите в игру

Наши сообщества



Форум «Легенда: Наследие Драконов»
Форум > Таверна > Занимательная дваровская математика
страницы: [ << < 1 2 3 > >> ]

Занимательная дваровская математика

 Anabol_Bada [14] 
0
20 Апреля 2013 14:10:08
у меня 1367 здоровья
выпив фиолетовый гиг в бою, у меня становится 2050 хп
умножаем 1367*1,5=2050,5
во всем мире 0,5 округляется в сторону единицы, кроме двара...
собственно ничего удивительного, просто лишний раз убедился в математических способностях создателей....
Кто хочет - ищет способ, кто не хочет - ищет причину.
Дорогу осилит идущий.
00:39 Vedmochka » отдайка: ... Ваши эмоции чаще, чем раз в 3 мин
0
 New death [10]  21 Апреля 2013 00:50:08 #39
LordG
Я, может, что-то путаю, но, например, результаты измерений зачастую округляют примерно поровну в обе стороны(это я про 0.5).

-LeFF-
Я думаю, что тут просто производят умножение, результат которого приводят к целочилсенному типу.
И сомневаюсь, что при приведении типов используется round.

Нечто похожее было со свитками исцеления. Пришлось фиксить, вводя какой-то там параметр, который невилировал погрешность результата целочисленных операций.
И все таки я считаю, что тяжем надо поднять ХП на 50%!
0
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, тогда всё ок)))
0
logdon [12]  21 Апреля 2013 01:00:12 #41
Red_Hawk
Чисто субботний топ... Автор абсолютно прав - несерьезно это ... 0.5 во всем мире округляют до литра... а мы еще ни в одном глазу :)

:lol: :lol: :lol:

я округлил до 7 литров уже)))
0
 Карри [12]  21 Апреля 2013 01:26:54 #42
Anabol_Bada
а с чего вы вообще взяли что тут чтото округляется просто может неотображаются цифры после запятой и у тс на самом деле 2050,5 просто показывает только целую часть числа
страницы: [ << < 1 2 3 > >> ]
 
Официальный сайт бесплатной онлайн игры «Легенда: Наследие Драконов»


© ООО «АСТРУМ ЛАБ».
Все права защищены.
Все товарные знаки являются собственностью их владельцев.
Наверх
Вниз
Нашли ошибку? Выделите слово или предложение с ошибкой и нажмите Ctrl+Enter.
Мы проверим текст и, в случае необходимости, поправим его.