C言語関係掲示板

過去ログ

No.293.桁数の考え方

[戻る] [ホームページ]

No.1760

桁数の考え方がよくわかりません
投稿者---さっちゃん(2002/06/20 17:06:43)


今、電卓じみたものをツックッテ
勉強しているのですが、(double型使用)
桁数についてよく理解してないんです。
double型は15桁とかよく書かれているのですが、
この桁って計算結果の桁数が15桁しか出ないってことなんですか?
入力桁に制限をつけなくちゃいけないですよね?
どういう風にかんがえたらいいのでしょう?
・・・質問の仕方おかしいですよね・・・?
なにぶん初心者で・・・。すいません。
書いてる意味のわかる方、力を貸してください!!
お願いします。


No.1764

Re:桁数の考え方がよくわかりません(実数の精度)
投稿者---kikk(2002/06/20 22:23:02)


ども。


>double型は15桁とかよく書かれているのですが、

15桁というのは10進での精度です。printf()の%eの形式のような
表現をした場合の仮数部(eより前)の精度限界をさしています。
仮に、15桁より多く入力したり表示したりしても、そのうちで
確実に意味があるのは(上記の方式で表現した場合の)15桁だけです。

doubleの内部表現は大抵IEEE方式だと思いますが、IEEE方式において
64ビット実数は仮数部に52ビット割り当てられています。2進52桁で
表現できるのは10進数だと15桁になるのでそうなります。logをとるなり
電卓で2の52乗を計算するなりして確認してみてください。


では。

No.1766

Re:桁数の考え方がよくわかりません(実数の精度)
投稿者---さっちゃん(2002/06/21 11:59:05)


ども。さんへ

そうなんですよね、よく、

>printf()の%eの形式のような

って目にします。
わかったような・・・うむむむ。
もっと勉強します。

ありがとうございました。