すべてのカテゴリ » 知識・教養・学問 » 知識・学問 » 数学・サイエンス

質問

終了

10÷3の答えがが3.3333333333333335になる理由を分かりやすく教えて下さい♪
なぜ5がでてくるのでしょうか・・・?

  • 質問者:匿名
  • 質問日時:2010-03-31 05:47:04
  • 0

並び替え:

パソコンの計算は
全て2進数で行われています。
なので10進数で10は2進数で1010になります。

2進数の各桁は2の倍数に相当します。
つまり、2進数で1010は、下の桁から見て
1,2,4,8のうち2と8の桁が有効となって、
2+8=10を表す事になります。

8 4 2 1
1 0 1 0

(8x1)+(4x0)+(2x1)+(1x0) = 10

では、小数点の場合はというと、
同様に右方向に半分の値を割り振ります。

つまり、10.75の時には、

8 4 2 1 0.5 0.25
1 0 1 0 1 1

(8x1)+(4x0)+(2x1)+(0.5x1)+(0.25x1) = 10.75

となります。
で、3.33333・・・ですが、

2 1 0.5 0.25 0.125 0.0625 0.03125 0.015625
1 1 0 1 0 1 0 1

と、近似値を取ることになります。
最終的に割り切れない値なので、
ビット数の上限までこれが続き、
最後の桁が5になったりします。

  • 回答者:Maku (質問から6時間後)
  • 3
この回答の満足度
  

浮動小数点のこと?
表現できるのは1/2のべき乗だから。
例えば仮数部が1ビットなら10進の0.5単位で丸められる。

  • 回答者:匿名希望 (質問から4時間後)
  • 0
この回答の満足度
  

関連する質問・相談

Sooda!からのお知らせ

一覧を見る