Тип BigInteger

Тип BigInteger представляет целые числа произвольной длины, которые могут превышать максимальные значения стандартных целочисленных типов вроде Long. Он предоставляет методы для выполнения арифметических операций, битовых операций и сравнений с большими числами.

Импорт

kotlinimport java.math.BigInteger

Создание BigInteger

kotlinval num1: BigInteger = BigInteger("12345678901234567890")
kotlinval num2: BigInteger = 12345.toBigInteger()
kotlinval num3: BigInteger = BigInteger.valueOf(999999999)

Арифметические операции

Пример сложения двух больших чисел:

kotlinval a = BigInteger("10000000000000000000")
val b = BigInteger("20000000000000000000")
val res = a.add(b)
println(res)

Результат выполнения кода:

kotlinBigInteger 30000000000000000000

Пример

Пример умножения больших чисел:

kotlinval a = BigInteger("123456789")
val b = BigInteger("987654321")
val res = a.multiply(b)
println(res)

Результат выполнения кода:

kotlinBigInteger 121932631112635269

Пример

Пример возведения в степень:

kotlinval base = BigInteger("2")
val exponent = 100
val res = base.pow(exponent)
println(res)

Результат выполнения кода:

kotlinBigInteger 1267650600228229401496703205376

Пример

Пример деления с остатком:

kotlinval dividend = BigInteger("100")
val divisor = BigInteger("3")
val quotient = dividend.divide(divisor)
val remainder = dividend.remainder(divisor)
println("Quotient: $quotient, Remainder: $remainder")

Результат выполнения кода:

kotlinQuotient: 33, Remainder: 1

Сравнение BigInteger

Пример сравнения двух больших чисел:

kotlinval a = BigInteger("10000000000000000000")
val b = BigInteger("20000000000000000000")
val comparison = a.compareTo(b)
println(comparison)

Результат выполнения кода:

kotlinInt -1

Конвертация в другие типы

Пример преобразования BigInteger в стандартные числовые типы:

kotlinval bigInt = BigInteger("12345")
val intVal: Int = bigInt.toInt()
val longVal: Long = bigInt.toLong()
val doubleVal: Double = bigInt.toDouble()
println("Int: $intVal, Long: $longVal, Double: $doubleVal")

Результат выполнения кода:

kotlinInt: 12345, Long: 12345, Double: 12345.0

Смотрите также

  • тип Int,
    для работы с 32-битными целыми числами
  • тип Long,
    для работы с 64-битными целыми числами
  • тип BigDecimal,
    для работы с числами с плавающей точкой произвольной точности
  • тип Double,
    для работы с 64-битными числами с плавающей точкой