数字类型
整数类型
无符号整数类型包括:
类型 | 最小值 | 最大值 |
---|---|---|
u8 | 0 | 28-1 |
u16 | 0 | 216-1 |
u32 | 0 | 232-1 |
u64 | 0 | 264-1 |
u128 | 0 | 2128-1 |
有符号的二进制补码整数类型包括:
类型 | 最小值 | 最大值 |
---|---|---|
i8 | -(27) | 27-1 |
i16 | -(215) | 215-1 |
i32 | -(231) | 231-1 |
i64 | -(263) | 263-1 |
i128 | -(2127) | 2127-1 |
浮点数类型
IEEE 754-2008 标准中的 "binary32" 和 "binary64" 浮点数类型分别为 f32
和 f64
。
机器相关的整数类型
usize
类型是一种无符号整数类型,其位数与平台的指针类型相同。它可以表示进程中的每个内存地址。
isize
类型是一种带符号整数类型,其位数与平台的指针类型相同。对象和数组大小的理论上限是最大的 isize
值。
这确保了 isize
可用于计算指向对象或数组中的指针之间的差异,并且可以寻址对象内的每个字节以及超出末尾一个字节。
usize
和 isize
至少有 16 位宽度。
注意:许多 Rust 代码可能假设指针、
usize
和isize
是 32 位或 64 位。 因此,对于 16 位指针的支持是有限的,可能需要库显式关注并确认其支持。