2011-07-11 6 views
0

私はcharを使って非常に大きな整数として機能するものを実装しました。しかし、私は突然、私はunsigned intを使用することができました。これはより簡単に実装できます。大きな整数クラスを実装するのに "char"の代わりに "unsigned int"を使用しないのはなぜですか?

例えば、すべてunsigned intを使用して最大9 999 999を格納し、最も重要な数字を「次の」unsigned intにインクリメントするバッファとして使用します。

charを使用しつつ、私は7桁の代わりに4桁4バイトを使用することができます。

だから、なぜ私たちはunsigned intで大きな整数クラスを実装していませんか?あなたはBigIntegerのためのuintを使用していないと言う

+0

整数はどれくらい大きくなければなりませんか?まったく新しいタイプを実装しなくても、符号なしの64ビット値でかなり大きくなる(9.22337204×10^18だと思います)。 – aardvarkk

答えて

3

? BigIntegerのC#BCL実装(System.Numerics内)は、ビットを格納するためにuint []を使用します。

一般に、数の文字数字を表現するためにかなりのビットよりも、数を表すためにビットを使用する方が効率的であろう。

関連する問題