постоянно получаю разные значения
Хранить в инт
одни и те же float дают при сложении разные результаты?
Покажите воспроизведение
https://play.golang.org/p/MqXYaqLuVww
Потому что слагаемые всё время в разном порядке. И да, я уверен, что в ieee 754 не работает правило "от перестановки мест слагаемых сумма не меняется"
Почему это правило не работает - понятно?
Не совсем, если можно, то объясните пожалуйста
Реализация с интом отрабатывает нормально, спасибо
Потому что машина хранит цифры в двоичном формате. В двоичных дробях. Десятичные дроби часто иррациональны для двоичных чисел. Соответственно, иногда эти погрешности складываются, а иногда копятся
ок, примерно понял, спасибо
Обсуждают сегодня