Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

当たり前のことに感じますが、0.1は浮動小数点数(IEEE 754)では正確に表現できません。 なのにprintをしたときに0.1と表示されるのは不思議です。 このことについて分かったことを書いておきます。 環境 この記事ではPython 3.7を使用しています。 【前提】浮動小数点数 この記事で、以降"浮動小数点数"という場合は、"IEEE 754 倍精度"のことを指します。 浮動小数点数のフォーマットは、数を以下の形式に変換し、sign、exp、fracを順に並べたものです。
※筆者は驚くと猫になってしまいます. 2次方程式の解の計算でさえこのように誤差が生じ,結局どっちが真の解かも分かりません. 普段計算機でしている計算の結果が本当に正しいものなのか,ちょっと心配になってきますね. 実は2次方程式に関しては誤差混入の原理が明らかになっていて誤差を回避する方法も知られています. 数値計算は前の計算結果を使って次の計算を行なうので,どこか一箇所でも誤差が混入してしまうとそれ以降の計算は信頼できないものになります. 大量の計算を行なう過程のどこかで致命的な誤差の混入が発生していたら…と考えると恐ろしくて夜しか眠れません. さて,ここからが本題です.(唐突) 本当に紹介したかったのは次の例で,筆者がこれを知った時は驚きのあまり研究室で叫びました. 計算機不信に陥るので,覚悟してください(笑) 3. 数値計算に潜むとんでもないリスク では,いよいよ本題の"数値計算に潜む
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く