std::cout
出力がすべてのプラットフォームで同じになるように、double値を移植可能(GCC、clang、MSVC ++)に出力したいと思います。
指数のフォーマットに問題があります。次のプログラム
#include <iostream>
int main()
{
std::cout << 0.1e-7 << std::endl;
return 0;
}
GCCでこの出力があります:
1e-08
およびMSVCでの次の出力
1e-008
どうすれば両方の出力を同じにすることができますか?
これがばかげた質問であるならば申し訳ありませんが、私は今のところ答えを見つけていません。すべてのフォーマットは、仮数の前のすべてのフォーマットを中心に進化しているようです...
編集:GCCの出力は(最初に述べたように)そうでは1e-08
ないので、適合しています。混乱させて申し訳ありません。1e-8
EDIT2:ディートマーの発言に続いて、実際には「仮数」の名前を「指数」に変更しました。ウィキペディアには仮数と仮数に関するセクションもあります。