官术网_书友最值得收藏!

Unsigned integers

Unsigned integer types were introduced in Kotlin 1.3. JVM does not have support out of the box for such types. Starting with Java SE 8, you can use the integer class to store an unsigned int, and operations for unsigned values are provided. Introducing these types, which are found in languages such as C++ or C#, is still in experimental mode. Here is the full list of these types:

  • kotlin.UByte: This stores an unsigned 8-bit integer, ranging from 0 to 255
  • kotlin.UShort: This stores an unsigned 16-bit integer, ranging from 0 to 65535
  • kotlin.UInt: This stores an unsigned 32-bit integer, ranging from 0 to 2^32 - 1
  • kotlin.ULong: This stores an unsigned 64-bit integer, ranging from 0 to 2^64 - 1


These types can be defined using literal suffixes and, of course, converting between signed and unsigned types is possible. Last but not least, the unsigned types support similar operators, just like their signed counterparts:

@ExperimentalUnsignedTypes
fun sample() {
// You can define unsigned types using literal suffixes
val uint = 1094u
val ulong = 9999uL
val ubyte: UByte = 255u

val int = uint.toInt()
val byte = ubyte.toByte()
val ulong2 = byte.toULong()

val x = 20u + 22u
val y = "128".toUByte()
val range = 1u..5u
}
主站蜘蛛池模板: 西安市| 柳州市| 民权县| 新竹市| 牙克石市| 沁源县| 华阴市| 神木县| 丹棱县| 尚义县| 尼玛县| 镇康县| 桑植县| 漳浦县| 拜城县| 浪卡子县| 鹤山市| 武夷山市| 阜城县| 平谷区| 合山市| 大同市| 金川县| 巴青县| 晋州市| 奉节县| 时尚| 南丰县| 八宿县| 兰坪| 上栗县| 固始县| 清新县| 阿坝县| 双桥区| 东辽县| 洛阳市| 隆子县| 玛多县| 富宁县| 包头市|