
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.12.2013, 21:27
|
|||
|---|---|---|---|
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда |
|||
|
#18+
28.34 + -15.48 = 12.86 140.02 + 29 = 169.02 -2.09 + -37.03 = -39.120000000000004 Откуда эта куча нулей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.12.2013, 21:44
|
|||
|---|---|---|---|
|
|||
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда |
|||
|
#18+
ughunter, погрешности округления тип данных float увы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.12.2013, 22:41
|
|||
|---|---|---|---|
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда |
|||
|
#18+
ughunter, Компьютер работает с двоичными числами, поэтому надо понимать, что точно перевести дробное число по основанию 10 в число по основанию 2 невозможно. Такая проблема не является особенностью JavaScript, в любом ЯП вы можете наблюдать примерно то-же самое. Для хранения отрицательных чисел в компьютере используется дополнительный код. То-есть, 37.03 может быть переведено в десятичный вид как 37.029999999999996, а -37.03 как -37.030000000000004 Если я где-то ошибся, прошу поправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.12.2013, 22:52
|
|||
|---|---|---|---|
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда |
|||
|
#18+
Чтобы понять наглядно механизм усекания/округления чисел при хранении в памяти, попытайтесь представить клеточки на листе бумаги, каждый разряд - это клеточка. Возьмём 4 клеточки-разряда, и попробуем сохранить там дробное число. Произойдёт неизбежная потеря точности, если клеточек не хватит (придётся округлять или отбрасывать часть). Теперь увеличьте число клеточек согласно разрядности ОС, и получите примерный порядок округления. Как-то так, точнее не могу сформулировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.12.2013, 22:56
|
|||
|---|---|---|---|
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда |
|||
|
#18+
а в случае с конкретным ЯП, например, JS, нужно учитывать максимально возможное количество значащих цифр в этом ЯП, с учётом десятичной точки и других спец.символов, применяемых для записи чисел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=22&mobile=1&tid=1447522]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 441ms |

| 0 / 0 |
