浮動小数点のいくつかの大きな和の正当な値を完全に印刷したいのですが、浮動小数点数が十分大きい場合は、 "1.01383e + 007"のような表記法があります。正当な価値をどのように得ることができますか?「1.01383e + 007」の代わりに完全な浮動小数点数を印刷する方法は?
答えて
浮動小数点の重要な特性は、大きな値の場合、小数点までのすべての有効数字に関連する精度を持たないことです。 「科学的」ディスプレイは、固有の内部記憶の現実を合理的に反映する。
あなたが(例えば)10138300は、表示される10 かそこらに値のためのより有効数字を持っているデータ型、Cファミリー言語のようなdouble
を使用したい場合。または、CPUアーキテクチャーやプログラミング言語や環境によっては、拡張精度整数表現(long
またはlong long
など)を使用してください。
float
データタイプは正確な値を格納しないため、正確な値を出力することはできません。 float
で
は、32ビットでは、3つの異なる部分間で分割される:符号ビット、指数部と仮数等:簡単に言えばS EEEEEEEE MMMMMMMMMMMMMMMMMMMMMMM
を、代わりに正確な「12345678」、float
データ・タイプを記憶するであろう「1.23 * 10^7」しか格納しません(データタイプは「1.2345 * 10^7」を格納します)。他の数字は失われます。
大きな数値の正確な値に興味があるなら、C++で "Big Integer"ライブラリを調べることができます。
指数が底2であり、底10ではないことを除いて、 '1.23 * 10 ** 7'も正確ではありません。 –
それを指摘してくれてありがとう。私の元の意図は、指数と仮数の概念を理解しやすくすることでした。それは正確であることを意図したものではなかった。 – user1032613
などの10進数のライブラリを使用する必要があります。 gmp; "1.01383e + 007"形式は浮動小数点の格納方法によるものです。
あなたの質問を読んで、科学的な形式を出力したくないということを意味します。もしそうなら、次のようにストリームのフォーマットを制御することができます:
cout << setiosflags(ios::fixed) << thefloat << endl;
- 1. 整数の代わりに浮動小数点を返す
- 2. 浮動小数点数を印刷する
- 3. ページスタイリング:浮動小数点を使用する代わりに
- 4. jQuery animateNumber - 浮動小数点浮動小数点の方法
- 5. putcharを使用して浮動小数点値を印刷する方法は?
- 6. 浮動小数点数は浮動小数点数ですか?
- 7. CSSプロパティテーブルの代わりに浮動小数点数を使用する理由
- 8. 浮動小数点型の浮動小数点数を使用している浮動小数点数は、浮動小数点数の上位16桁です。
- 9. 特定の数のゼロで浮動小数点を印刷する
- 10. CKEditorは浮動小数点の代わりに画像を整列します
- 11. 浮動小数点数浮動小数点数値
- 12. 浮動小数点の浮動小数点が正しく浮動しない
- 13. なぜbootstrapはdisplay:inline-blockの代わりに.spanで浮動小数点数を使用するのですか?
- 14. 浮動小数点値と浮動小数点値の比較
- 15. 小数点の代わりに小数点のカンマを使用する変数
- 16. IE7浮動小数点浮動小数点問題
- 17. C++がPythonに浮動小数点浮動小数点を変換する
- 18. 浮動小数点要素を浮動小数点要素にする
- 19. 浮動小数点浮動小数点浮動小数点浮動小数点数 - 浮動小数点数を持つ2つの要素:左に動くようにdivを配置する右のスタイル
- 20. 浮動小数点型を複製する方法:代わりにウィンドウの高さの左のタイプの効果?
- 21. 浮動小数点数
- 22. CSSが浮動小数点数の浮動小数点数の問題
- 23. 32651:浮動小数点浮動小数点浮動小数点エラーのルビー比較
- 24. IE7は浮動小数点数が0になります。
- 25. Haskellで小数点位置のない浮動小数点整数を表示する簡単な方法は?
- 26. 浮動小数点を小数点第2位に切り捨てる最も簡単な方法は?
- 27. "。" zendバリデータの浮動小数点数の小数点以下は
- 28. CSS - 浮動小数点数を含む簡単な方法
- 29. Redis:大きな浮動小数点数
- 30. bashスクリプト内で浮動小数点数をエコーする方法
あなたは現在どのようなコードを使ってそれらをプリントアウトしていますか? –
cout << thefloat << endl; –
手で行うことが不可能であることが証明されているときに、どのようにしてC++でこれを可能にすると思いますか? –