Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktPmCvNO 62 of 522 menu
◀ ▶

Операции с узкими целыми в Kotlin

Давайте теперь посмотрим, что получается при сложении узких целых Byte и Short.

Сумму двух Byte нельзя сразу записать в переменную типа Byte. Такая запись дает ошибку. Программа не собирается:

val num1: Byte = 10 val num2: Byte = 20 val num3: Byte = num1 + num2 // программа не собирается

Kotlin считает эту сумму в более широком типе Int. Вывести ее можно и так:

val num1: Byte = 10 val num2: Byte = 20 val num3 = num1 + num2 // Int println(num3) // 30

Чтобы положить сумму обратно в Byte, вызывают toByte у всей суммы. Скобки нужны, чтобы функция применилась к результату сложения:

val num1: Byte = 10 val num2: Byte = 20 val num3: Byte = (num1 + num2).toByte() println(num3) // 30

Сумма входит в диапазон Byte, поэтому значение остается тем же.

У Short правило то же. Сумма имеет тип Int, обратно ее кладут через toShort:

val num1: Short = 100 val num2: Short = 25 val num3: Short = (num1 + num2).toShort() println(num3) // 125

У двух UByte и у двух UShort сумма имеет тип UInt. Обратно ее кладут через toUByte и toUShort.

Разность считают так же:

val num1: Byte = 20 val num2: Byte = 8 val num3: Byte = (num1 - num2).toByte() println(num3) // 12

Произведение считают так же:

val num1: Byte = 4 val num2: Byte = 5 val num3: Byte = (num1 * num2).toByte() println(num3) // 20

Частное считают так же:

val num1: Byte = 20 val num2: Byte = 4 val num3: Byte = (num1 / num2).toByte() println(num3) // 5

Даны две переменные:

val num1: Short = 40 val num2: Short = 15

Найдите сумму этих переменных, запишите ее в переменную того же типа, что и num1, и выведите ее.

Даны две переменные:

val num1: Short = 80 val num2: Short = 12

Найдите разность этих переменных, запишите ее в переменную того же типа, что и num1, и выведите ее.

Даны две переменные:

val num1: Byte = 6 val num2: Byte = 7

Найдите произведение этих переменных, запишите его в переменную того же типа, что и num1, и выведите его.

Даны две переменные:

val num1: UByte = 12u val num2: UByte = 20u

Найдите сумму этих переменных, запишите ее в переменную того же типа, что и num1, и выведите ее.

Даны две переменные:

val num1: UShort = 100u val num2: UShort = 25u

Найдите частное этих переменных, запишите его в переменную того же типа, что и num1, и выведите его.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить