-PR-
解決済み

数の大きさ

  • 困ってます
  • 質問No.86261
  • 閲覧数36
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 50% (4/8)

C++初心者です。以下の様なプログラムで、合計を求めたいのですが、あまり桁数の大きい数だと、正確な値がでません。(20桁とか・・・)これは一体どういうことが考えられますか?//配列の全要素の合計を求める
#include<iostream.h>


int main(void)
{
int i;
int a[5]={0}.;

cout<<"5個の整数値を入力しましょう。 \n";

for(i=0; i<5; i++)
{
cout<<"No."<<i+1<<": ";
cin>>a[i];
}
int sum=0;

for(i=0; i<5; i++)
sum=sum+a[i];


cout<<"合計は"<<sum<<"です。\n";

return(0);
}
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

合計を求める為に使っている変数 sum の型 int は、表現できる数値の
範囲が決っています。

使っている環境のマニュアルか、もしくは include/limits.h に
記述があるはずですが、int が4バイトであれば、最大の数値は
2147483647 です。

もし、20桁の数値を正確に計算したい、ということであれば、
「多倍長演算」という技術を使います。

C++ でも良いのであれば、それをサポートしたクラスが、探せば
いくつでも見つかるでしょう。そのうちのひとつを参考URLに
紹介しておきます。
お礼コメント
yabupiano

お礼率 50% (4/8)

なんとなく仕組みがわかってきました。ありがとうございます。
返事おそくなってすみません。
投稿日時 - 2001-06-13 22:47:40
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル13

ベストアンサー率 33% (427/1283)

intの有効桁数を調べましょう。
お礼コメント
yabupiano

お礼率 50% (4/8)

調べてみます。ありがとうございました。
投稿日時 - 2001-06-06 17:35:52


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ