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

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
}
主站蜘蛛池模板: 二手房| 花莲县| 凤城市| 连江县| 牟定县| 龙江县| 类乌齐县| 双桥区| 安顺市| 青海省| 昌江| 珲春市| 梁山县| 福清市| 上犹县| 芜湖市| 万载县| 衡阳县| 桂阳县| 罗平县| 仙桃市| 泌阳县| 临泉县| 五台县| 通化县| 池州市| 古交市| 桃园市| 山阳县| 东山县| 神池县| 三亚市| 伊春市| 昆明市| 临朐县| 和平区| 余庆县| 容城县| 池州市| 邹城市| 开阳县|