Тип ULong
Тип ULong представляет собой 64-битное целое число
без знака (unsigned long). Может хранить значения
в диапазоне от 0 до 18446744073709551615
(2^64 - 1). Является частью системы беззнаковых типов Kotlin,
которая была введена для работы с неотрицательными целыми числами.
Объявление переменных
val num: ULong = 1234567890123456789UL
val num = 1234567890123456789UL
Пример
Объявим переменную типа ULong и выведем ее значение:
val largeNumber: ULong = 18446744073709551615UL
println(largeNumber)
Результат выполнения кода:
ULong 18446744073709551615
Пример
Арифметические операции с типом ULong:
val 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")
Результат выполнения кода:
Sum: 15000000000000000000
Difference: 5000000000000000000
Multiplication: 20000000000000000000
Division: 5000000000000000000
Пример
Преобразование других числовых типов в ULong:
val intNum = 100
val longNum = 1000L
val ulongFromInt = intNum.toULong()
val ulongFromLong = longNum.toULong()
println(ulongFromInt)
println(ulongFromLong)
Результат выполнения кода:
ULong 100
ULong 1000
Пример
Сравнение значений типа ULong:
val num1: ULong = 10000000000000000000UL
val num2: ULong = 15000000000000000000UL
println("num1 > num2: ${num1 > num2}")
println("num1 < num2: ${num1 < num2}")
println("num1 == num2: ${num1 == num2}")
Результат выполнения кода:
num1 > num2: false
num1 < num2: true
num1 == num2: false
Пример
Использование побитовых операций с ULong:
val 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")
Результат выполнения кода:
Shifted left: 48
Shifted right: 6
AND result: 8
OR result: 14