C言語関係掲示板

過去ログ

No.997 doubleを整数で使う場合誤差は生じるか

[戻る] [ホームページ]
No.785

オーバーフローについて
投稿者---初心者(2003/12/02 17:36:10)


始めまして、質問させてください。

億単位の整数に100をかけたものを変数に格納したいのですが、
long型だと21億あたりでオーバーフローしてしまいます。
調べてみたらより大きい数値を扱うにはdoubleを使うと
書かれていたのですが、「誤差が生じる」というようなことが
書かれており、使っていいものか悩んでいます。

どなたかご教授よろしくお願い致します。

No.786

Re:オーバーフローについて
投稿者---かずま(2003/12/02 20:32:26)


> 億単位の整数に100をかけたものを変数に格納したいのですが、
> long型だと21億あたりでオーバーフローしてしまいます。
> 調べてみたらより大きい数値を扱うにはdoubleを使うと
> 書かれていたのですが、「誤差が生じる」というようなことが
> 書かれており、使っていいものか悩んでいます。

通常の処理系では、9007兆1992億5474万0992までの整数として使う限り
誤差は生じません。小数なら、0.1 すら誤差を持っています。

過去ログ No718 大きな数の素数を求める方法 参照。

No.790

Re:オーバーフローについて
投稿者---初心者(2003/12/03 00:26:12)


ご教授ありがとうございました!!
扱うのは整数のみで、最大でも500億くらいなので
doubleを使用することで解決できました。

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