![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
|
Вот некой переменной целочисленной (допустим 100) начинаю минусовать число (допустим 2) в цикле. Трейшу:
100 98 ... 88 85,9999999998 и далее в таком духе... Откуда этот маразм? Я так понимаю, если я потом эту переменную использую - при таком раскладе сложность вычислений увеличивается и растет загрузка цп... Или я не прав? |
|
|||||
|
Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
|
aaa = 0; bbb = 50; onEnterFrame = function () { if (aaa++ > 20) { aaa = 0; if (bbb > 2) { bbb -= 0.2; } trace(bbb); } }; 49.8 49.6 49.4 49.2 49 48.8 48.6 48.4 48.2 48 47.8 47.6 47.4 47.2 47 46.8 46.5999999999999 46.4 46.1999999999999 45.9999999999999 45.7999999999999 45.5999999999999 45.3999999999999 45.1999999999999 44.9999999999999 |
|
|||||
|
Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
|
виноват, просто с целым числом дольше ждать ошибку
Добавлено через 48 секунд не важно даже, с каким - целым или дробным... важнее вопрос - дает ли это в дальнейшем нагрузку на проц? |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Ее не будет. При работе с дробными числами (при чем не у всех, дроби полученные путем деления на 5, от этом проблемы избавлены) накапливается погрешность, которая в один прекрасный момент вылазит на свет. А с целыми числами такой погрешности нет.
Возможный вариант, что число было получено в результате каких вычислений и трейс показывает его как целое, но на самом деле, он просто округляет его до целого. Например число 2.000000000000001 трейс покажет как 2 |
|
|||||
|
Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
|
спасибо за развернутый ответ.
|
|
|||||
|
у меня тот-же трабл, но вычитать дробную переменную нужно.
Можно както обрезать или округлить полученную такую дробную переменную ? Чтоб выводилось не 234.86999999999999999 а 234.86 c двумя числами после запятой ? Всё придумал, умножаем на 100 делем на 100
__________________
Дети не должны знать о своих родителях Последний раз редактировалось Tails; 06.03.2011 в 21:20. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:36. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|