-PR-
解決済み

2進数と10進数の関係について

  • 暇なときにでも
  • 質問No.7163
  • 閲覧数97
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

浮動小数点で表現されている10進数の0.1を
2進数に変換すると循環小数となります。
これを単純にまた10進数に変換すると
永遠に0.1とはならないと思うのですが、
なぜ、2進数の(0.00011001100110011…)が
EXCEL等のアプリケーションで人間の目に見える形で
は10進数の(0.1)となっているのでしょうか?
IEEEの規格の仕様となにか関係があるのでしょうか?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル8

ベストアンサー率 26% (9/34)

IEEE 規格とは関係ありません.Excel の場合は適当な桁数(多分表示桁の一つ下)で丸めてるだけです.
補足コメント
noname#420

回答ありがとうございます。

この丸めは、切り上げなのでしょうか、
四捨五入なのでしょうか、
また、表示桁の1つ下を丸めることで
もとの10進数表現に近いものになるので
しょうか、教えて下さい。
投稿日時 - 2000-08-29 07:43:39
関連するQ&A
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル8

ベストアンサー率 54% (12/22)

Excelの内部の扱いにはあまり詳しくないのですが…。 119さんの"浮動小数点"という言葉が実はキーになっています。浮動小数点というのはいわゆる指数表示です。 つまり整数部分と、その数字の一番下の桁が小数点以下あるいは小数点以上第何位にあるのかを分けて記憶してると考えてください(小数点の位置が動くので浮動小数点ですね)。 0.1 という数字は、1 * 10^-1(1 ...続きを読む
Excelの内部の扱いにはあまり詳しくないのですが…。

119さんの"浮動小数点"という言葉が実はキーになっています。浮動小数点というのはいわゆる指数表示です。

つまり整数部分と、その数字の一番下の桁が小数点以下あるいは小数点以上第何位にあるのかを分けて記憶してると考えてください(小数点の位置が動くので浮動小数点ですね)。

0.1 という数字は、1 * 10^-1(10のマイナス1乗)と表現できます。これですと、割り切れないということはありませんよね。

最後の最後はDickさんが言うとおりどこかで丸めることになりますが、かなり大きな数や小さな数まで正確に表現することができます。

ちなみに、0.0000001とセルに書いてみてください。1E-07と表示されると思います。これが 1 * 10^-7 という意味を表しています。
お礼コメント
noname#420

わかりやすい浮動小数点の説明ありがとうございます
投稿日時 - 0000-00-00 00:00:00


  • 回答No.3
レベル11

ベストアンサー率 27% (132/480)

丸め誤差についてサポート技術情報がありましたので引用しておきます。IEEEとの関係と言えばこれでしょう。 ...続きを読む
丸め誤差についてサポート技術情報がありましたので引用しておきます。IEEEとの関係と言えばこれでしょう。
お礼コメント
noname#420

わざわざサポート技術情報のURLありがとうございます
投稿日時 - 0000-00-00 00:00:00
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ