はじめまして、isoです。
<質問>
かなり大きな数を計算しようとしているのですが、
データ型__int64を使用しても、
9,223,372,036,854,775,807
までしか表現できません。
これ以上の数値を表現する方法はあるのでしょうか?
どんな方法でも構いませんので、
どうぞ宜しくお願い致します。
そういう場合は、構造体等を使って自分でオペレーターを作ります。
プログラミングの基礎を真剣に書いてくれてる本を探せば、
詳しいやりかたも書いてあります。
これをヒントに、まずはどのへんがわからないか絞りましょう。
・オペレーターを作るってわかりますか?
・構造体はわかりますか?
また、開発環境によって使える方法と使えない方法があります。
特にCかC++か。
とにかく、使用上の注意は必ず読みましょうよ。
本の正式な名前は忘れましたが、「C言語によるアルゴリズム辞典」だったかな?
たしか、それに多桁計算のサンプルがありったとおもいます。
構造体か配列に、4桁ずつ(別に何桁でもいいでしょうけど)わけて
もつというようなことをやっていました。
(もしかしたら、char配列だったかな?)
ということで、自前で作成するしかないでしょう。
正確に覚えていないので、この程度しかいえませんが・・・
int64でもおさまらない計算っていったいどんな計算なんでしょう。
天文学の計算でもするのかなぁ。
皆さんが言われているように自前でやるしかないでしょう。
しかし、面倒なんだよなぁ。
和と差はともかく積と商が。
ただ、そんな桁数になるのであれば、全桁の精度が必要なんでしょうか?
下桁の方は切り捨てて、上の桁だけで計算して、表示上はゼロを下に
決まっただけつけるとかいうのもありなきもしますけれど。
精度を犠牲にしてもよいのならdouble型を使えばかなり大きな数まで扱えます。
きっちりやらないといけないのなら、
キーワード「多倍長演算」で検索すると解説やらソースやらがいろいろ見つかります。
ついでに、「C言語による最新アルゴリズム事典」のソースは
著者の奥村先生のページからダウンロードできます。
http://www.matsusaka-u.ac.jp/~okumura/algo/