Тип UByte
Тип UByte представляет собой беззнаковое 8-битное
целое число, которое может хранить значения от 0
до 255. В отличие от знакового Byte,
который может хранить значения от -128 до 127,
UByte использует все 8 бит только для
положительных чисел и нуля.
Объявление переменных
val a: UByte = 255u
val b = 128u
Для указания типа UByte используется суффикс u
или U после числового литерала.
Диапазон значений
println(UByte.MIN_VALUE)
println(UByte.MAX_VALUE)
Результат выполнения кода:
0
255
Пример
Объявим переменную типа UByte и выполним
базовые арифметические операции:
val x: UByte = 200u
val y: UByte = 100u
val sum = x + y
val diff = x - y
val mult = x * 2u
val div = x / 2u
println("Sum: $sum")
println("Difference: $diff")
println("Multiplication: $mult")
println("Division: $div")
Результат выполнения кода:
Sum: 300
Difference: 100
Multiplication: 400
Division: 100
Пример
Попытка присвоить значение за пределами диапазона вызовет ошибку компиляции:
// val error: UByte = 300u // Ошибка компиляции
// val error2: UByte = -5u // Ошибка компиляции
Пример
Преобразование между UByte и другими числовыми типами:
val ub: UByte = 150u
val intValue: Int = ub.toInt()
val longValue: Long = ub.toLong()
val doubleValue: Double = ub.toDouble()
println("Int: $intValue")
println("Long: $longValue")
println("Double: $doubleValue")
Результат выполнения кода:
Int: 150
Long: 150
Double: 150.0
Пример
Преобразование из знакового Byte в UByte:
val signedByte: Byte = -50
val unsignedByte: UByte = signedByte.toUByte()
println("Original: $signedByte")
println("Unsigned: $unsignedByte")
Результат выполнения кода:
Original: -50
Unsigned: 206