Тип ULong

Тип ULong представляет собой 64-битное целое число без знака (unsigned long). Может хранить значения в диапазоне от 0 до 18446744073709551615 (2^64 - 1). Является частью системы беззнаковых типов Kotlin, которая была введена для работы с неотрицательными целыми числами.

Объявление переменных

kotlinval num: ULong = 1234567890123456789UL
kotlinval num = 1234567890123456789UL

Пример

Объявим переменную типа ULong и выведем ее значение:

kotlinval largeNumber: ULong = 18446744073709551615UL
println(largeNumber)

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

kotlinULong 18446744073709551615

Пример

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

kotlinval a: ULong = 10000000000000000000UL
val b: ULong = 5000000000000000000UL

val sum = a + b
val diff = a - b
val mult = a * 2UL
val div = a / 2UL

println("Sum: $sum")
println("Difference: $diff")
println("Multiplication: $mult")
println("Division: $div")

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

kotlinSum: 15000000000000000000
Difference: 5000000000000000000
Multiplication: 20000000000000000000
Division: 5000000000000000000

Пример

Преобразование других числовых типов в ULong:

kotlinval intNum = 100
val longNum = 1000L

val ulongFromInt = intNum.toULong()
val ulongFromLong = longNum.toULong()

println(ulongFromInt)
println(ulongFromLong)

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

kotlinULong 100
ULong 1000

Пример

Сравнение значений типа ULong:

kotlinval num1: ULong = 10000000000000000000UL
val num2: ULong = 15000000000000000000UL

println("num1 > num2: ${num1 > num2}")
println("num1 < num2: ${num1 < num2}")
println("num1 == num2: ${num1 == num2}")

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

kotlinnum1 > num2: false
num1 < num2: true
num1 == num2: false

Пример

Использование побитовых операций с ULong:

kotlinval num: ULong = 0b1100UL

val shiftedLeft = num shl 2
val shiftedRight = num shr 1
val andResult = num and 0b1010UL
val orResult = num or 0b1010UL

println("Shifted left: $shiftedLeft")
println("Shifted right: $shiftedRight")
println("AND result: $andResult")
println("OR result: $orResult")

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

kotlinShifted left: 48
Shifted right: 6
AND result: 8
OR result: 14

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

  • тип UInt,
    который представляет 32-битное целое число без знака
  • тип UShort,
    который представляет 16-битное целое число без знака
  • тип UByte,
    который представляет 8-битное целое число без знака
  • тип Long,
    который представляет 64-битное целое число со знаком