Looking for java Answers? Try Ask4KnowledgeBase
Looking for java Keywords? Try Ask4Keywords

Java LanguageBigInteger


前書き

BigIntegerクラスは、プリミティブデータ型には大きすぎる大きな整数を含む数学演算に使用されます。たとえば、100階乗は158桁です。これは、 longよりもはるかに大きくなります。 BigIntegerは、Javaのプリミティブ整数演算子のすべて、およびjava.lang.Mathからの関連するすべてのメソッド、および他のほとんどの操作に類似したものを提供しjava.lang.Math

構文

  • BigInteger variable_name =新しいBigInteger( "12345678901234567890"); //文字列としての10進整数
  • BigInteger variable_name = new BigInteger( "1010101101010100101010011000110011101011000111110000101011010010"、2)//文字列としての2進整数
  • BigInteger variable_name = new BigInteger( "ab54a98ceb1f0800"、16)//文字列としての16進整数
  • BigInteger variable_name =新しいBigInteger(64、新しいランダム()); // 64ビットを供給して整数を構成する擬似乱数生成器
  • BigInteger variable_name = new BigInteger(新しいバイト[] {0、-85、84、-87、-116、-21、31、10、-46}); //整数の符号付き2の補数表現(ビッグエンディアン)
  • BigInteger variable_name = new BigInteger(1、新しいバイト[] { - 85,84、-87、-116、-21、31、10、-46}); //正の整数の符号なし2の補数表現(ビッグエンディアン)

備考

BigIntegerは不変です。したがって、その状態を変更することはできません。たとえば、不変性のためにsumが更新されないため、以下は動作しません。

BigInteger sum = BigInteger.ZERO;
for(int i = 1; i < 5000; i++) {
   sum.add(BigInteger.valueOf(i));  
}

結果をsum変数に代入して、動作させます。

sum = sum.add(BigInteger.valueOf(i));

Java SE 8

BigIntegerの公式文書によると、 BigInteger実装では、-2 2147483647と2 2147483647の間のすべての整数がサポートされるはずです。つまり、 BigIntegerのビット数は20億を超えることができます!

BigInteger 関連する例