Floating point exception
В общем игра вылетает с сообщением "Floating point exception", я так понимаю у меня получается число, в котором после запятой перебор с количеством цифр. Как можно такое решить? Может есть способ округления до 0.* или проблема в другом?
|
Ответ: Floating point exception
С помощью дебагера найди строку где происходит ошибка, посмотри какие значения имеют переменные в этот момент, вырежи этот кусок кода, сделай автономным и запости сюда
ЗЫ На ноль не делишь, а? |
Ответ: Floating point exception
А как поступить если в формуле есть деление и в них иногда случаются ноли?
|
Ответ: Floating point exception
Вариантов несколько. Необходима конкретика (что ты моделируешь этой формулой)
|
Ответ: Floating point exception
Код:
0.4 - (1 + ( (y - wy) / ( (y - 128) / 2) ) ) * 0.1 P.s. y - высота конечной точки, wy - высота объекта, деление на ноль случается когда y=128, не хочется решать вопрос так: If not( y = 128 )... |
Ответ: Floating point exception
y - 128
тут может быть ноль (при y == 128) |
Ответ: Floating point exception
Не хочется, а надо:
If y=128 then ten=0 else ten=0.4 - (1 + ( (y - wy) / ( (y - 128) / 2) ) ) * 0.1 |
Ответ: Floating point exception
Просто я подумал: может есть универсальная формула, при которой не пришлось бы ставить if?
|
Ответ: Floating point exception
Цитата:
Описание похоже не на формулу, а на алгоритм с if, детерминирующем приоритет условий |
Ответ: Floating point exception
Цитата:
|
Ответ: Floating point exception
Один if - это очень мало, не стоит заморачиваться по такому поводу. На самом деле данное условие оптимизирует.
Потому что если значение будет выходит из пределов 0 или 1.0, то вычислять ничего не нужно, это будут лишние математические вычисления, поэтому можно смело использовать условия. |
Ответ: Floating point exception
Хорошо. Так и сделаю. Всем спасибо!
|
Часовой пояс GMT +4, время: 09:20. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot