No.4ベストアンサー
- 回答日時:
異常に大きな数を"正確に"扱うためには"多倍長整数"というものを使います。
このためのライブラリでは, GMP, NTLというものがあります。
gimmickさんのいうように概算でよいならば, 皆さんの言う通り, log doubleで良いと思います。
GMP, NTLを使うにはまたちょっと勉強が必要ですが, がんばってください。日本語のページもちらほら見つけることもできます。
参考URLにNTLを公開しているページを揚げます。英語ですが...
参考URL:http://www.shoup.net/
No.3
- 回答日時:
1000の階上は
doubleだと普通オーバーフローしますね。
gccだとlong double(10バイト)がありますがそれでもオーバーフローします。
double 型(8バイト)の値の範囲がおおよそ 1.7E-308 ~ 1.7E+308
有効数字は15~16桁です。
基本的にはそういう計算をする場合、C++だと独自のクラスを作ります。
ビット演算の方法さえしっていれば大した量にはなりません。
クラスでなくても構造体と関数でやる事も可能です。
ちなみにjavaだとBigDecimal
というライブラリーが標準でついています。
No.2
- 回答日時:
C言語では数千桁、数万桁の整数を扱えるような型はありませんし、doubleを使ったとしても、ここまで大きな数は表現できません。
また、浮動小数点型の場合、仮にオーバーフローにならないとしても有効桁数の問題があります。おそらく、自分で型や関数を定義するか、ライブラリを手に入れるしかないと思います。(処理系依存ですが、1000の階乗の方はlong doubleで計算できるかもしれません。)# 正確な値を求める必要があるのか、概算でも良いのかを明確にすると、適切な回答が得やすいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語について コマンドラインで >変数 12.00 (char型) と、小数点付きの値を共用体に渡 1 2022/04/22 16:56
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# キャスト演算について。 1 2023/07/15 15:28
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2分法で方程式の複数の解を自...
-
プログラムでの数字につく”f”の...
-
c言語で、繰り返し文の中で、0....
-
float型とdouble型の変数の違い...
-
doubleの変数にintとintの割り...
-
C言語で台形公式を使った二重積...
-
C#イベント中の戻り値の設定の...
-
C言語を実行すると-infが出てき...
-
浮動小数点の定数
-
たくさんの数の平均を求める方...
-
C言語初心者 構造体 課題について
-
C言語 関数プロトタイプ宣言の...
-
C言語について(三角形の面積・d...
-
log(0)と-1.#INF00Pの関係
-
C言語ついての質問です。 関数...
-
c言語の構造体エラーについて
-
C#、太らせた多角形を塗りつぶ...
-
-1.#IND00と出てしまうのですが...
-
テイラー展開(C言語)
-
C++で外積
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C言語を実行すると-infが出てき...
-
float型とdouble型の変数の違い...
-
doubleの変数にintとintの割り...
-
c言語で、繰り返し文の中で、0....
-
C言語 関数プロトタイプ宣言の...
-
関数におけるif文とreturn文に...
-
C 開放してるのにエラー(doubl...
-
C言語の型による処理速度の違い
-
至急です! マクロ定義で #defi...
-
doubleは常に%lfとするべきなのか
-
Cで3乗根を求める方法
-
-1.#IND00と出てしまうのですが...
-
C言語で-23乗を取り扱うには
-
C++で外積
-
2次方程式の解を求めるプログ...
-
方程式を2分法を用いて解くプロ...
-
ニュートン法
-
c言語のコンパイルエラー canno...
-
difftime()について
おすすめ情報