Perl › 数値 › 誤差 小数をコンピュータで表現するには誤差が問題になります。2進数で表現できない小数は誤差が発生します。 コンピュータは数値を内部的には2進数としてしか表現できません。整数についてはどんな数でも2進数として表現できます。 問題になるのは小数です。2進数で表現できる少数は、0.5, 0.25, 0.125, 0.0625 ( 順に、1/2, 1/4, 1/8, 1/16 ) などの1/2のn乗で表現される数と、これらの和で表現される数( たとえば 0.75 )だけです。 0.3 というのはいくら2を乗算しても整数になりませんから、2進数で正確に表現することができません。コンピュータはこのような数を近似することによって何とか扱います。0.3は、2進数を使って以下のように近似されます。 0.3 = 1/4 + 1/32 + 1/64 + 1/512 = 0.25 + 0