2011-05-13 16 views
0

私は合計の浮動小数点数を計算し、509990e-405のような数値を得ました。私はこれが短いバージョンだと仮定しています。どうすればいいですかcoutこれは完全な番号ですか?数字の10進数の代わりに指数関数として表示

cout << NASATotal << endl; 

は私が今持っているものです。

+2

出力に400個のゼロが表示されますか? –

+0

さて、私は誇張をしましたが、はい、私はちょうど合計出力を持つ方法を知りたいです。 – mystycs

+2

あなたが行った計算やそれを行ったデータはわかりませんが、私はこの数値が間違っていることや、少なくとも完全に役に立たない結果であると考えています。純粋な可愛さが書いたように、それは小数点以下400桁の数字です。 –

答えて

4

出力を科学的表記法ではなく、少数を表示するのに十分な精度を持つようにすることができます。

#include <iomanip> 

// ... 

long double d = 509990e-405L; 
std::cout << std::fixed << std::setprecision(410) << d << std::endl; 

出力:

0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050999000000

もしあなたが本当にを望むなら、これは別の質問です。

+0

@Christian:はい、すでに編集済みです。 – sth

1

結果を文字列として格納する独自のBigNumberクラスを記述することができます。すべての数値演算を実装する必要があり、パフォーマンスが問題になると思います。しかし、それは、問題はありません - それがあなたが望むものであると仮定して、行うことができます。

+0

Sooは文字列にする必要がありますか? – mystycs

+0

いいえ、私はintまたはfloatを使う代わりに、あなたが実装するBigNumberクラスを使用します:-)(これは何か:http://www.dreamincode.net/forums/topic/27746-big-number- –

関連する問題