Тип BigInteger
Тип BigInteger представляет целые числа произвольной длины,
которые могут превышать максимальные значения стандартных целочисленных типов
вроде Long. Он предоставляет методы для выполнения арифметических операций,
битовых операций и сравнений с большими числами.
Импорт
import java.math.BigInteger
Создание BigInteger
val num1: BigInteger = BigInteger("12345678901234567890")
val num2: BigInteger = 12345.toBigInteger()
val num3: BigInteger = BigInteger.valueOf(999999999)
Арифметические операции
Пример сложения двух больших чисел:
val a = BigInteger("10000000000000000000")
val b = BigInteger("20000000000000000000")
val res = a.add(b)
println(res)
Результат выполнения кода:
BigInteger 30000000000000000000
Пример
Пример умножения больших чисел:
val a = BigInteger("123456789")
val b = BigInteger("987654321")
val res = a.multiply(b)
println(res)
Результат выполнения кода:
BigInteger 121932631112635269
Пример
Пример возведения в степень:
val base = BigInteger("2")
val exponent = 100
val res = base.pow(exponent)
println(res)
Результат выполнения кода:
BigInteger 1267650600228229401496703205376
Пример
Пример деления с остатком:
val dividend = BigInteger("100")
val divisor = BigInteger("3")
val quotient = dividend.divide(divisor)
val remainder = dividend.remainder(divisor)
println("Quotient: $quotient, Remainder: $remainder")
Результат выполнения кода:
Quotient: 33, Remainder: 1
Сравнение BigInteger
Пример сравнения двух больших чисел:
val a = BigInteger("10000000000000000000")
val b = BigInteger("20000000000000000000")
val comparison = a.compareTo(b)
println(comparison)
Результат выполнения кода:
Int -1
Конвертация в другие типы
Пример преобразования BigInteger в стандартные числовые типы:
val 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")
Результат выполнения кода:
Int: 12345, Long: 12345, Double: 12345.0
Смотрите также
-
тип
Int,
для работы с 32-битными целыми числами -
тип
Long,
для работы с 64-битными целыми числами -
тип
BigDecimal,
для работы с числами с плавающей точкой произвольной точности -
тип
Double,
для работы с 64-битными числами с плавающей точкой