Целые типы в Kotlin
Целые числа в Kotlin представлены следующими типами:
Byte, Short, Int и
Long. Разница между ними - сколько
байтов занимает ячейка в оперативной памяти и какое
самое большое число в нее помещается.
Самым основным типом для чисел является тип Int.
Это 4 байта, около двух миллиардов в плюс и в минус.
Количество, номер и сумма в разумных пределах туда входят.
Например, число 1500000 помещается, а число
3000000000 больше двух миллиардов -
и в Int уже не влазит.
Тип Long занимает 8 байт на любом компьютере,
около девяти квинтиллионов в плюс и в минус.
Для чисел, которые не помещаются в Int,
стоит пользоваться именно этим типом.
Тип Short состоит из 2 байтов, около 32 тысяч
в плюс и в минус. Число вроде 40000
в эти 2 байта уже не поместится.
Тип Byte состоит из 1 байта, около 128
в плюс и в минус. Число вроде 200
в этот байт уже не поместится.
Запишем три числа в подходящие типы и выведем их:
var num1: Short = 9
var num2 = 1500000
var num3 = 3000000000
println(num1)
println(num2)
println(num3)
Сведем типы и диапазоны:
| Тип | Размер | Диапазон |
|---|---|---|
Byte
|
1 байт
|
от -128 до 127
|
Short
|
2 байта
|
от -32768 до 32767
|
Int
|
4 байта
|
от -2147483648 до 2147483647
|
Long
|
8 байт
|
от -9223372036854775808 до 9223372036854775807
|
В каком диапазоне изменяются числа типа Byte?
В каком диапазоне изменяются числа типа Short?
В каком диапазоне изменяются числа типа Int?
В каком диапазоне изменяются числа типа Long?
Есть число 100. Помещается ли оно в диапазон
типа Byte?
Есть число 200. Помещается ли оно в диапазон
типа Byte?
Есть число 40000. Помещается ли оно в диапазон
типа Short?
Есть число 100000. Помещается ли оно в диапазон
типа Int?
Есть число 2147483648. Помещается ли оно в диапазон
типа Int?
Есть число 3000000000. Помещается ли оно в диапазон
типа Int?
Есть число 100000000000. Помещается ли оно в диапазон
типа Int?
Есть число 100000000000. Помещается ли оно в диапазон
типа Long?
Есть число 9223372036854775808. Помещается ли оно
в диапазон типа Long?