почему вас это волнует?
IEEE определяет число с плавающей запятой как 23-битное значение, что составляет около 7 десятичных знаков. Таким образом, двоичное представление «0.3» равно 0.3000000 +/- precision_loss (поскольку само значение 0.3 не является двоичным представлением), где Precision_loss меньше 0,0000001.
Кроме того, в зависимости от того, как вы получите «0,3», двоичный файл Представление одного и того же десятичного числа может быть различным. Например:
float n = 0.3;
cout << std::fixed << std::setprecision(25) << n << endl;
float n1 = 0.1;
cout << std::fixed << std::setprecision(25) << n1 + 0.1 + 0.1 << endl;
дает следующий вывод:
0.3000000119209289550781250
0.3000000014901161304869959
Я не уверен, почему вам нужно заботиться о десятичных цифрах сверх указанной точности.