瞬間fが1未満になると、私は "0" を取得何が起こるかではありませんそれ
を表示します。初めてf
が1未満の場合、4.0 0.675
が印刷されます。それはありません0
:
1.0 1.5
2.0 1.5
3.0 1.125
4.0 0.675
5.0 0.3375
f
の値が、その後急速になり非常に非常に小さな、Pythonは科学表記負の指数の使用を開始地点まで:
6.0 0.144642857143
7.0 0.0542410714286
8.0 0.0180803571429
9.0 0.00542410714286
10.0 0.00147930194805
11.0 0.000369825487013
12.0 8.53443431568e-05
13.0 1.82880735336e-05
14.0 3.65761470672e-06
15.0 6.8580275751e-07
注意を-05
、-06
などf
の値は非常に小さくなり、小数点をシフトする方が効率的です。あなたは固定小数点表記法を使用してこれらの値をフォーマットした場合、彼らはより多くのゼロを使用したい:
>>> format(8.53443431568e-05, '.53f')
'0.00008534434315680000128750276600086976941383909434080'
>>> format(6.8580275751e-07, '.53f')
'0.00000068580275751000002849671038224199648425383202266'
は結局、
f
は、浮動小数点型のため
小さくなりすぎます。浮動小数点値は、単にこのポイントを超えてゼロに近づいて行くことはできません。 165.0 5.89639287564e-220
166.0 1.05923225311e-221
167.0 1.89148616627e-223
168.0 3.35766775077e-225
169.0 5.92529603077e-227
170.0 0.0
0.0
前の最後の値が227ゼロと5.925であることの前に:にかなり近いです
>>> format(5.92529603077e-227, '.250f')
'0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000592529603077000028336751'
を絶対最小値a float
オブジェクトを表すことができます。 min
attribute of the sys.float_info
named tuple次を参照してください。つまり
>>> import sys
>>> sys.float_info.min
2.2250738585072014e-308
を、あなたは限界に達し、そして5.92529603077e-227
と0.0
左の間には多くの表現可能な値がありました。