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

Java LanguageBigInteger


Вступление

Класс BigInteger используется для математических операций с большими целыми числами с слишком большими величинами для примитивных типов данных. Например, 100-факториал составляет 158 цифр - намного больше, чем может представлять long . BigInteger предоставляет аналоги всем примитивным целочисленным операторам Java и всем соответствующим методам из java.lang.Math а также нескольким другим операциям.

Синтаксис

  • BigInteger variable_name = new BigInteger ("12345678901234567890"); // десятичное целое в виде строки
  • BigInteger variable_name = new BigInteger ("1010101101010100101010011000110011101011000111110000101011010010", 2) // двоичное целое в виде строки
  • BigInteger variable_name = new BigInteger ("ab54a98ceb1f0800", 16) // шестнадцатеричное целое число в виде строки
  • BigInteger variable_name = new BigInteger (64, new Random ()); // генератор псевдослучайных чисел, обеспечивающий 64 бита для построения целого числа
  • BigInteger variable_name = new BigInteger (новый байт [] {0, -85, 84, -87, -116, -21, 31, 10, -46}); // подписали двухдополнительное представление целого (big endian)
  • BigInteger variable_name = new BigInteger (1, новый байт [] {- ​​85, 84, -87, -116, -21, 31, 10, -46}); // Непрерывное представление целых чисел без знака (положительное целое число)

замечания

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 s может иметь более 2 миллиардов бит!

BigInteger Связанные примеры