15

プロジェクト euler で eclipse を使い始めてから、大きな数が一見ランダムな負の数になることがあることに気付きました。これは、型の境界を渡すことと関係があると思います。

これらの負の数がどのように生成され、その背後にあるロジックが何であるかを説明していただければ幸いです. また、どうすればそれらを回避できますか (BigInteger クラスを使用しないことが望ましい)。ダンケ!=)

4

4 に答える 4

1

最上位ビットは符号ビットであるため、データ型のサイズがオーバーフローしている可能性があります。Javaにはデータ型があるとは思わないので、より大きな数値を保持したい場合unsignedなど、より大きなデータ型を使用してみてください。それでも a がオーバーフローしている場合は、 でほとんど立ち往生しています。longintlongBigInteger

于 2013-06-20T16:38:55.390 に答える