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

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
}
主站蜘蛛池模板: 芒康县| 靖远县| 芦溪县| 平和县| 乐平市| 同仁县| 太原市| 电白县| 宿迁市| 大丰市| 加查县| 益阳市| 达尔| 错那县| 灌云县| 凤山县| 海城市| 商水县| 东城区| 新建县| 平远县| 花莲县| 广灵县| 灌云县| 孟津县| 石柱| 海盐县| 万盛区| 益阳市| 广丰县| 鱼台县| 揭西县| 儋州市| 安仁县| 嵊泗县| 浦县| 巫溪县| 淅川县| 五峰| 蒲江县| 尤溪县|