Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

BigInteger

Целое число любого размера — когда не хватает даже long.

Доступно с: Java 1.1

Синтаксис

public class BigInteger extends Number implements Comparable<BigInteger>

Примеры

Факториал 30 не помещается в long:

void main() {
    BigInteger result = BigInteger.ONE;
    for (int i = 2; i <= 30; i++) {
        result = result.multiply(BigInteger.valueOf(i));
    }
    IO.println(result);
}

Результат:

265252859812191058636308480000000

Степень, остаток и сравнение:

void main() {
    var big = new BigInteger("2").pow(100);
    IO.println(big);
    IO.println(big.mod(BigInteger.TEN));
    IO.println(big.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) > 0);
}

Результат:

1267650600228229401496703205376
6
true

Примечания

Операторы +, *, < с BigInteger не работают — только методы add(), multiply(), compareTo(). Объекты неизменяемы, каждый метод возвращает новое число. Готовые константы: BigInteger.ZERO, ONE, TWO, TEN.

См. также

  • BigDecimal — Точное десятичное число — для денег и расчётов, где недопустимы ошибки округления double.
  • Integer.MAX_VALUE — Наибольшее значение типа int; рядом — Integer.MIN_VALUE.
  • Long.parseLong() — Превращает строку с целым числом в long — для чисел, которые не помещаются в int.
  • Math.pow() — Возводит число в степень.

Вопросы и ответы по теме

В учебнике

  • Примитивные типы — Восемь примитивных типов Java: int, long, double, float, char, boolean, byte и short, их диапазоны и переполнение.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.