Pythonの浮動小数点数はどの程度正確ですか?常に倍精度ですか、それとも実装やプラットフォーム固有ですか? CPythonとPyPyの違いはありますか?浮動小数点数の精度
答えて
Pythonのからドキュメント:
浮動小数点数は、通常、Cでダブルを使用して実装されています。精度について、あなたのプログラムが 実行されているマシンの 浮動小数点数の内部表現 情報は sys.float_info で利用可能です。
sys.float_infoは、フロートタイプに関する情報を保持する構造体シーケンスである。これには、精度と内部表現に関する低レベルの情報が含まれています。 フロート精度
import sys
print(sys.float_info.mant_dig)
mant_dig
属性点:フロート
ほとんどすべてのプラットフォームの仮数におけるベース基数の桁数は、Pythonは、IEEE 754ダブル 精度に浮かぶマップ。
ありがとう!はい、私は 'sys.float_info'を知っていますが、問題は「通常」です。私は質問を逆にすることができます、それはCダブルではないのですか? –
@EcirHana:CPythonでは、* always * C doubleです。これは[CPythonソース](https://github.com/python/cpython/blob/3.6/Include/floatobject.h#L17)でハードコードされています。 –
うん、これは私のために十分です。 (公式のpythonのドキュメントへのリンクがあるのは良いことですが)。 upvoteをしてください。 – Bathsheba
import sys
sys.float_info
sys.float_info(MAX = 1.7976931348623157e + 308、max_exp = 1024、max_10_exp = 308分= 2.2250738585072014e-308、min_exp = -1021、min_10_exp = -307 = 15掘る、mant_dig = 53 、イプシロン= 2.220446049250313e-16、基数= 2、ラウンド= 1)
ここで見つける:https://docs.python.org/3/library/stdtypes.html#typesnumeric 秒4.4
は、このヘルプあなたをしていますか?
- 1. 浮動小数点精度
- 2. 浮動小数点型の精度printf
- 3. MongoDB浮動小数点値の精度?
- 4. 倍精度浮動小数点数の浮動小数点コードを読む
- 5. 浮動小数点精度形式
- 6. 倍精度浮動小数点型+ Eigen
- 7. 単精度浮動小数点表現から半精度浮動小数点数への変換
- 8. 範囲の縮小単精度浮動小数点の精度が悪い
- 9. 異なるシステムでの浮動小数点数の精度
- 10. 精度解析の浮動小数点数の損失
- 11. javascript浮動小数点数の精度浮動小数点数が6桁を超えて
- 12. 浮動小数点数の精度を設定する
- 13. Haskellの高精度浮動小数点数は?
- 14. 十進数から半精度の浮動小数点
- 15. 浮動小数点数の精度を高める
- 16. Powershell - IEEE754単精度浮動小数点の16進数
- 17. インテルAVX:倍精度浮動小数点変数
- 18. AndroidでGroovyで倍精度浮動小数点数を浮動小数点にすると
- 19. パンダのデータフレームの比較と浮動小数点の精度
- 20. C#DateTime:倍精度浮動小数点型時間の倍精度化
- 21. ElasticSearchファセットの用語クエリの浮動小数点精度
- 22. MVC3エディターの倍精度浮動小数点型の表記
- 23. SQLの浮動小数点精度の設定
- 24. hdf5データセットの浮動小数点精度を設定する
- 25. 単精度浮動小数点の使用
- 26. python Qt浮動小数点精度のboost-pythonサブモジュール
- 27. 倍精度/浮動小数点誤差の補償
- 28. F#(および.NET)での浮動小数点精度に
- 29. CUDA対OpenCL:浮動小数点精度の変更
- 30. oracleを読んだあとjythonの浮動小数点精度
(ダウンしないでください!)色を追加するには、CおよびC++では実装固有のものです。 JavaではIEEE754でなければなりません。 Pythonに関しては、わかりません。クイックグーグルはこれについて(私にとって)どちらの光も出さない。 – Bathsheba
CPython2をチェック:https://docs.python.org/2/tutorial/floatingpoint.html – MYGz
ここにヒントがありますhttp://floating-point-gui.de/languages/python/。一番上の行は、ほとんどすべてのプラットフォームがPythonの浮動小数点をIEEE 754倍精度にマップしています。 " CやC++と同じように見えます。 – Bathsheba