C++ Boost cpp_dec_float_100 выдает разные ответы

Рейтинг: 2Ответов: 0Опубликовано: 30.01.2023
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

Почему первый вариант записи кода дает неверный ответ?

Ответы

Ответов пока нет.