デバッグするとき、関数から返された浮動小数点数を出力して、それを別の関数の入力値として使用したいことがあります。浮動小数点数のフォーマットをガイドするデフォルトのパラメーターは何ですか。
次のコードで f1 と f2 は常に同じですか?
#include <sstream>
#include <cassert>
int main(int argc, const char *argv[])
{
std::stringstream ss;
float f1 = .1f;
ss << f1;
float f2;
ss >> f2;
assert(f1 == f2);
return 0;
}
一連の浮動小数点数を std::cout または std::ofsteam に書き込み、それらを読み戻してまったく同じ数値を取得できますか、または小数点の後に数値の量を明示的に設定する必要があります (ここで提案されているように?
私が気になるのは、.1 は 2 進分数として表現できませんが、標準ストリームによって正しくフォーマットされていることです。