Стажировка
Открыта запись на бесплатный пробный месяц! Жми для подробностей! →
159 of 1310 menu
Бесплатный курс: Практика на Реальных Проектах и Работы в Портфолио! Мы уже начали, но можно присоединится! Жми для записи!

Тип 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-битными числами с плавающей точкой