クラスを印刷する必要がある C++ の問題に取り組んでいます。私のクラスは、理論的に無制限の長い数値を格納して、算術演算と論理演算を実行します。数値を保持するための unsigned int の配列があります。例: 数値が {a*(2^32) + b} の場合、クラスはそれを {array[0]=b , array[1]=a} として格納します。つまり、基数 (2^32) のようなものです。問題は、この数値を 10 進数に変換して印刷できるようにする方法です。単に {a*(2^32) + b} では、unsigned int に収まらないため、実行できません。10進数を保存する必要はありませんが、印刷するだけです。
私がこれまでに得たもの
最初に数値をバイナリに変換し (これは簡単な作業です)、それを印刷することを考えました。しかし、乗算を保持するのに十分な大きさの変数がまだないため、同じ問題が発生します。
ワイルド思考
独自のクラスを使用して乗算を保持し、反復的な方法で印刷を行うことができるのだろうか? また、これは対数を使用して解決できるのでしょうか?
注: 他のライブラリや、double や long などの long 型を使用することは許可されていません。これは理論的には無制限の数の場合だと言いますが、サイズ 2 の配列を印刷する方法を見つけることができれば役に立ちます。その後、より長い数について考えることができます。