整数¶
有五种带符号整数类型和五种无符号整数类型
类型 | 长度 | 最小值 | 最大值 |
---|---|---|---|
Int8 | 8 | -128 | 127 |
Int16 | 16 | −32,768 | 32,767 |
Int32 | 32 | −2,147,483,648 | 2,147,483,647 |
Int64 | 64 | −263 | 263 - 1 |
Int128 | 128 | −2127 | 2127 - 1 |
UInt8 | 8 | 0 | 255 |
UInt16 | 16 | 0 | 65,535 |
UInt32 | 32 | 0 | 4,294,967,295 |
UInt64 | 64 | 0 | 264 - 1 |
UInt128 | 128 | 0 | 2128 - 1 |
整数字面量是一个可选的 +
或 -
符号,后跟一个数字和下划线的序列,可选地后跟一个后缀。如果不存在后缀,则字面量的类型为 Int32
(如果值适合 Int32
的范围),否则为 Int64
。Int64
范围之外的整数必须始终带后缀
1 # Int32
1_i8 # Int8
1_i16 # Int16
1_i32 # Int32
1_i64 # Int64
1_i128 # Int128
1_u8 # UInt8
1_u16 # UInt16
1_u32 # UInt32
1_u64 # UInt64
1_u128 # UInt128
+10 # Int32
-20 # Int32
2147483647 # Int32
2147483648 # Int64
-2147483648 # Int32
-2147483649 # Int64
9223372036854775807 # Int64
9223372036854775808_u64 # UInt64
大于 Int64
最大值但在 UInt64
范围内可表示的无后缀整数字面量已弃用,例如 9223372036854775808
。
后缀之前的下划线 _
是可选的。
可以使用下划线 _
使某些数字更易读
1_000_000 # better than 1000000
二进制数以 0b
开头
0b1101 # == 13
八进制数以 0o
开头
0o123 # == 83
十六进制数以 0x
开头
0xFE012D # == 16646445
0xfe012d # == 16646445