[過去ログ] Pythonのお勉強 Part62 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
130: デフォルトの名無しさん (ササクッテロル Spbb-b7Cm) [sage] 2019/10/02(水) 15:47:10 ID:gHIFLYdkp(1/4) AAS
>>128
128(1): デフォルトの名無しさん (アウウィフ FF8b-wGQq) [] 2019/10/02(水) 15:32:50 ID:dOlpIXopF(2/6) AAS
>>126
二進数でも二進数のまま全て分数で計算すればそれで終わり
分数で扱うのなら二進数も10進数も無い。

ただ、最終的に浮動小数点数として扱うなら
2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから自分の好みの結果が得られる。
132: デフォルトの名無しさん (ササクッテロル Spbb-b7Cm) [sage] 2019/10/02(水) 16:10:31 ID:gHIFLYdkp(2/4) AAS
なんでそうなるって、decimal が、そう言う仕様で作られてるからに決まってんじゃん。
134
(1): デフォルトの名無しさん (ササクッテロル Spbb-b7Cm) [sage] 2019/10/02(水) 16:37:42 ID:gHIFLYdkp(3/4) AAS
>>133
133(1): デフォルトの名無しさん (アウウィフ FF8b-wGQq) [] 2019/10/02(水) 16:14:01 ID:dOlpIXopF(4/6) AAS
わざとボケてんのか?

>2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、

なんでそうなる

2進数の浮動小数点数だって自分で自由に決められるだろ
ボケてるのどっち?

15. 浮動小数点演算、その問題と制限
外部リンク[html]:docs.python.org

近年の殆どのコンピュータでは 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 モジュールを使うとこれらの計算を簡単に行えます
136: デフォルトの名無しさん (ササクッテロル Spbb-b7Cm) [sage] 2019/10/02(水) 17:51:41 ID:gHIFLYdkp(4/4) AAS
>>135
135(1): デフォルトの名無しさん (アウウィフ FF8b-wGQq) [] 2019/10/02(水) 17:00:45 ID:dOlpIXopF(5/6) AAS
>>134
朝鮮人みたいな絡み方だなお前
最後は捨て台詞? 勉強してね。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.048s