2 つの非常に大きな整数について、加算、減算、乗算、および除算のオーバーフローを処理する方法を見つけようとしています。フィードバック/入力をいただければ幸いです。これに関するアルゴリズムや私が相談できる情報源を知っている人はいますか?
(私は投稿する前に調査を行いましたが、これに取り組む方法がわかりません)
編集: 2 つの非常に大きな整数の場合
2 つの非常に大きな整数について、加算、減算、乗算、および除算のオーバーフローを処理する方法を見つけようとしています。フィードバック/入力をいただければ幸いです。これに関するアルゴリズムや私が相談できる情報源を知っている人はいますか?
(私は投稿する前に調査を行いましたが、これに取り組む方法がわかりません)
編集: 2 つの非常に大きな整数の場合
オーバーフローが発生する状況を回避したい場合は、連結リストを使用して数値の一部を保存し、その部分に対して個別に計算を実行し、必要に応じてリストにノードを追加して余分な桁を処理する方法があります。
例
1234567890 は次のように格納できます -> 12,34,56,78,90 乗算するには、各単位が乗算され、次の単位に引き継がれます -> 1,23,45,67,89,0
ただし、操作が簡単になるため、1、23、45 ではなく、1、2、3、4、5 のように 1 桁の単位に分割する方が簡単です。
EDIT ::「ハンドル」という言葉は、使用すべき言葉ではありません
整数を整数で割った値が整数になることはめったにないため、これは一般に不可能です。
そうは言っても、これはあなたが望むものだと思います: http://gmplib.org/
任意のサイズの整数と有理数を処理します。
これは、算術演算でオーバーフロー条件を確認する および 整数オーバーフローを検出する方法の質問に似ているよう です。