
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#02です
>どこまでデータとして記憶してあるかで計算に誤差が出る気がするのですが。
その通りです。コンピュータの世界では「誤差」はつきものです。色々な種類の誤差があります。コンピュータの世界では「基本中の基本」です
http://www.geocities.jp/kmctecyh/k_text/text01/t …
誤差の一例を紹介しましょう
エクセルのA1セル、A2セルに十進数で「4.2」と「4.3」をそれぞれ入力し、別のセルに「=A2-A1」を入力してみてください
表示は当然「0.1」となりますが、そのセルの書式を変更して小数点以下を15桁まで表示してみてください。すると「0.0999999999999996」と表示されるはずです。
どうもまたしてもご丁寧に有難う御座います。これからは注意してデータ演算等を行なおうと思いますが、よっぽど徹底しない限りはデータの不整合はエクセルでは避けて通れない道なのでしょうね。
No.2
- 回答日時:
簡単に言うと「浮動小数点数 = 指数形式で格納された数値」です。
コンピュータ内部では数値は二進数で表されますが、わかりやすいように十進数で例をあげます
「12345605」という8桁の数字の並びがあるとき、この数字列を「99999V999(9が数値、Vが小数点位置)」と定義すれば、この数字列は「12345.605」の意味になります。また「99V999999」と定義すれば「12.345605」の意味になります。
これらは固定小数点数の考え方です。(定義によって小数点の位置は変わりますが、これは「浮動小数点数」ではありません)
一方この数字列を仮数部6桁、指数部2桁と考えれば、これは
「1.23456E05」=「1.23456×10^5」=「123456」
を意味します。(10E5と10^5は「10の五乗」の意味です)
8桁の数字列は固定小数点数のときは最大でも「99999999」=「10E8-1」までしか表現でできません。また最小の正数では「0.00000001」=「10E-8)」までになります。(負の数字はここでは考えません)
でも浮動小数点数でなら8桁の数字で、最大「9.99999E99」、最小で「10E-99」まで表現できることになります。つまり同じ文字数で表現可能な範囲が広がるのです。違いがおわかりいただけますでしょうか。
ただ上記説明は非常にデフォルメしてあります。実際のコンピュータの世界ではデータの持ち方や、負の数字の表し方などもっと複雑なのですが、その説明は割愛します。興味があれば勉強してみてください。
Wikipediaに書いてある内容は、「浮動小数点数を表す形式はIEEE方式やIBM方式がありますよ」ということを書いてあるので、浮動小数点数の概念をとらえるには適切ではないと思います
この回答への補足
ご丁寧に有難う御座います。とても分かり易かったです。実際はいろいろ複雑な処理をしているのだろうけれども概念は理解出来ました。ただそうするとコンピュータで表現(認識?)出来る数字にはデジタル機械ですから当然限界があり、厳密な数値計算は不可能なのではないでしょうか。実生活で必要なのは、小数点2位位までですし、こだわる必要もないかもしれません。一つもし確認出来たらさせて頂きたいのですが、例えば小数点以下2位までの表示としていてもコンピューターは、浮動小数点の限界認識まで内部でとらえているのでしょうか。どこまでデータとして記憶してあるかで計算に誤差が出る気がするのですが。
補足日時:2008/04/05 14:53No.1
- 回答日時:
電算機の「数」のメモリ上(ビット)に持つ方式の2大区分で、理系バックボーンなら
(A)浮動小数点数はなじみのはず
「仮数 指数 底 奇数 真数」でWEB照会すること。
(B)それを指数部と仮数部にどう搭載するか。
ーー
まず(A)の理解。
そしてコンピュタのビット列で実現する規約(B)を調べてください。
ここで説明していたら文章が長くなって簡単には説明出来ない。
質問者は、もっとWikiの文章なりでも、わからない点を絞って質問するべきです。
ーーー
こんなところへ質問して回答を見るより、WEB照会をしたほうが、量的にも多く、信頼性も多分大きいと思う。ウイキだけ見て終るから「てもあまりピンときませんでした」となる。
そのほか、内容が付帯的な勉強をした後でないと、頭に入りにくいことも確かだ。文章だけの説明を読んでも判らないだろう。WEBで判らなければ、先生の授業を良く効くとか、そちらで質問することだ。
imogashiさん、もう確かにその通りですね。ご丁寧にどうも有難う御座います。ネットの上でいろいろサイトはありますし、自分なりによく勉強してみようと思いますのですがエンドユーザーとそうでない人の敷居が高い気がしてます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで表示されている数字...
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
列の数字に100をかけたい
-
エクセルで、「ここ10試合の勝...
-
excelにて文字列を時刻として認...
-
文字の前に特定の言葉を入れたい
-
エクセル 特定のセルに○印を表...
-
Excel上でのデータ数字が連番で...
-
Excel(Windows)と、LibreOffice...
-
エクセル、連勝、連敗をカウン...
-
Excelのセル内文字の並び替えに...
-
名前と日付が一致する箇所にフ...
-
SUMに含まれる範囲から特定のセ...
-
Excelで表を作り、自動で今月の...
-
Excel2007 月ごと色分け
-
EXCELのセル上のURLを...
-
お肉の下のシートを煮込んでし...
-
エクセルの複数のセルを一括で...
-
A1セルに入力したら、入力時間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
Excel上でのデータ数字が連番で...
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
エクセルで曜日に応じた文字を...
-
列の数字に100をかけたい
-
エクセルでセルの値分の個数の...
-
Excelでの検索結果を含む行だけ...
-
エクセル:横長の表を改行して...
-
スペースとスペースの間の文字...
-
「エクセル」特定の行(セル)...
-
エクセルで表示されている数字...
-
エクセルで、毎日の走行距離(...
-
エクセル セル内の文字数を超え...
-
時間を「昼間」と「夜間」に分...
-
Excelにて、セルをダブルクリッ...
-
EXCELでA列とB列の文字が合わせ...
-
EXCELの特定セルを編集不可・コ...
-
Excelのセル内文字の並び替えに...
おすすめ情報