powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
6 сообщений из 6, страница 1 из 1
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
    #38511533
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
28.34 + -15.48 = 12.86
140.02 + 29 = 169.02
-2.09 + -37.03 = -39.120000000000004

Откуда эта куча нулей?
...
Рейтинг: 0 / 0
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
    #38511540
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunter,

погрешности округления
тип данных float
увы...
...
Рейтинг: 0 / 0
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
    #38511588
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunter,

Компьютер работает с двоичными числами, поэтому надо понимать, что
точно перевести дробное число по основанию 10 в число по основанию 2 невозможно.

Такая проблема не является особенностью JavaScript, в любом ЯП вы можете наблюдать примерно то-же самое.

Для хранения отрицательных чисел в компьютере используется дополнительный код.
То-есть, 37.03 может быть переведено в десятичный вид как 37.029999999999996, а -37.03 как -37.030000000000004

Если я где-то ошибся, прошу поправить.
...
Рейтинг: 0 / 0
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
    #38511593
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы понять наглядно механизм усекания/округления чисел при хранении в памяти,
попытайтесь представить клеточки на листе бумаги, каждый разряд - это клеточка.

Возьмём 4 клеточки-разряда, и попробуем сохранить там дробное число.
Произойдёт неизбежная потеря точности, если клеточек не хватит (придётся округлять или отбрасывать часть).

Теперь увеличьте число клеточек согласно разрядности ОС, и получите примерный порядок округления.

Как-то так, точнее не могу сформулировать.
...
Рейтинг: 0 / 0
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
    #38511595
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в случае с конкретным ЯП, например, JS, нужно учитывать максимально возможное количество значащих цифр в этом ЯП,
с учётом десятичной точки и других спец.символов, применяемых для записи чисел.
...
Рейтинг: 0 / 0
Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
    #38511714
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не могу разобраться.... почему при суммировании отрицательных чисел получется ерунда
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]