C++ некорректное сложение -0.0599999 +0.06 - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос C++ некорректное сложение -0.0599999 +0.06

Регистрация
15 Июл 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Добрый день/вечер столкнулся с проблемой что при выполнение сложения -0.0599999 +0.06

получается некорректный вывод -6.10948e-09 также и в js,калькуляторе я знаю что это из-за того как числа хранятся в памяти ,я уже менял тип данных на log float ,long double ,float ,double не помогло ,а другие числа я использовать не могу ,подскажите пожалуйста знатоки как это пофиксить ?
 
Регистрация
14 Авг 2013
Сообщения
77
Репутация
-3
Спасибо
0
Монет
0
Предположим, что речь идет о IEE754 64bit
-0.0599999 => -0.059999900000000001842881403035789844579994678497314453125
+0.06 => 0.059999999999999997779553950749686919152736663818359375
Теперь выполняем сложение в столбик
получаем
0.000000099999999995936672547713897074572741985321044921875
PS: а говоришь "я знаю что это из-за того как числа хранятся в памяти"
 
Сверху Снизу