C++ Boost cpp_dec_float_100 выдает разные ответы
cpp_dec_float_100 x = 0.00000000000001;
cpp_dec_float_100 z = 0.00000000000008;
cpp_dec_float_100 y = 0.1;
cout << setprecision(100) << x +z + y;
//0.100000000000090005551115123125676439960068731336843652116562475296035472638322971761226654052734375
cpp_dec_float_100 x = (cpp_dec_float_100)"0.00000000000001";
cpp_dec_float_100 z = (cpp_dec_float_100)"0.00000000000008";
cpp_dec_float_100 y = (cpp_dec_float_100)"0.1";
cout << setprecision(100) << x +z + y;
//0.10000000000009
Почему первый вариант записи кода дает неверный ответ?
Источник: Stack Overflow на русском