Беззнаковые целые в Kotlin
Целое число можно сделать беззнаковым.
Для этого берут тип с буквой U в начале:
UByte, UShort, UInt и
ULong. Беззнаковое число бывает только
нулем и положительным. Отрицательных значений
у него нет.
Так делают, чтобы расширить диапазон.
Байтов столько же, сколько у типа со знаком.
Место, которое уходило на минус, отдано
большим положительным числам. У типа
Int верхняя граница около двух
миллиардов. У типа UInt
она примерно вдвое выше: до
4294967295. Число 3000000000
в Int не входит, а в
UInt входит.
Беззнаковый тип берут и тогда, когда минус по смыслу числа не нужен. Количество штук, длина текста, номер элемента и размер в байтах не бывают отрицательными.
Вот таблица диапазонов беззнаковых чисел:
| Тип | Байты | Диапазон |
|---|---|---|
UByte
|
1
|
от 0 до 255
|
UShort
|
2
|
от 0 до 65535
|
UInt
|
4
|
от 0 до 4294967295
|
ULong
|
8
|
от 0 до 18446744073709551615
|
В каком диапазоне изменяются числа типа
UShort?
В каком диапазоне изменяются числа типа
UInt?
В каком диапазоне изменяются числа типа
ULong?
Есть число 200. Помещается ли оно в диапазон
типа UByte?
Есть число -1. Помещается ли оно в диапазон
типа UShort?
Есть число 70000. Помещается ли оно в диапазон
типа UShort?
Есть число 3000000000. Помещается ли оно в диапазон
типа UInt?
Есть число -5. Помещается ли оно в диапазон
типа UInt?
Есть число -1. Помещается ли оно в диапазон
типа ULong?