>>133 ボケてるのどっち?
15. 浮動小数点演算、その問題と制限
https://docs.python.org/ja/3.7/tutorial/floatingpoint.html
近年の殆どのコンピュータでは float 型は、分子に最も重大なビットから始めて最初の 53 ビットを使い、分母に 2 の累乗を使った、二進小数を使って近似されます。
1/10 の場合は、二進小数は 3602879701896397 / 2 ** 55 となります。
これは、1/10 に近いですが、厳密に同じ値ではありません。
ハードウェアの浮動小数点演算をサポートしている全ての言語で同じ種類の問題を見つけることができます
Python は 本当に float の正確な値が必要なレアケースに対応するためのツールを提供しています。 float.as_integer_ratio() メソッドは float の値を有理数として表現します:
>>> x = 3.14159
>>> x.as_integer_ratio()
(3537115888337719, 1125899906842624)
>>> x == 3537115888337719 / 1125899906842624
true
fractions モジュールと decimal モジュールを使うとこれらの計算を簡単に行えます
探検
Pythonのお勉強 Part62
■ このスレッドは過去ログ倉庫に格納されています
134デフォルトの名無しさん (ササクッテロル Spbb-b7Cm)
2019/10/02(水) 16:37:42.79ID:gHIFLYdkp■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 神田沙也加さん元恋人で元俳優の前山剛久 六本木のメンズラウンジ勤務を報告「真叶(まなと)です。よろしく」 [muffin★]
- 【君が代】今井絵理子氏 高市首相に国歌として統一した手話表現を定めることを要望→「あまりいい答弁にならない」と返される [少考さん★]
