|
ども。
> C言語では43億以上の数を扱うとオーバーフローになる可能性があると理解したのですが、それ以上の数は計算できないのでしょうか。
(約)43億というのは32ビット整数の制限ですね。とりあえず、32ビット以上
の整数型(long longとか__int64等)を使えば、それより大きな数(整数)を
あつかえます。また、doubleやlong doubleは32ビット整数よりも大きな数
(整数。もちろん実数も)をあつかえます。
これらの言語組み込みの型の範囲・精度はlimits.hに書かれています。
組み込み型の表現範囲よりも大きな数を扱いたい場合は、整数型の配列を
ひとつの数としてあつかいます。加減乗除やルート計算は専用の関数を
用意し、それをつかいます。「多倍長演算」等で検索してみてください。
# 円周率を計算するプログラムのソースを探してきて読むのもいいかも
では。
|