rust基础 数据类型 -----基本数字类型
固定取值范围的类型:
无符号整数:
- u8 数值为0 - 2⁸ -1 1个字节 u8 类型通常表示字节序列。在文件I/O或网络I/O中读取数据流时需要使用u8。
- u16 数值为0- 2¹⁶-1 2个字节
- u32 数值为0- 2³²-1 4个字节
- u64 数值为0- 2⁶⁴-1 8个字节
- u128 数值为0- 2¹²⁸-1 16个字节
符号整数:
- i8 数值为-2⁷ - 2⁷ -1 1个字节
- i16 数值为-2¹⁵- 2¹⁵-1 2个字节
- i32 数值为-2³¹- 2³¹-1 4个字节
- i64 数值为-2⁶³- 2⁶³-1 8个字节
- i128 数值为-2¹²⁷- 2¹²⁷-1 16个字节
动态取值范围类型:
usize: 数字范围 0 - 2³²-1 或 0 - 2⁶⁴-1 ,占用4个或8个字节,具体取决于机器的字长。
isize:数字范围 -2³¹- 2³¹-1或 -2⁶³- 2⁶³-1,占用4个或8个字节,具体取决于机器的字长。
浮点数类型:
f32, 单精度32位浮点数,至少6位有效数字,数值范围-3.4 X 10³⁸ - 3.4 X 10³⁸
f64, 双精度64位浮点数,至少15位有效数字,数值范围-1.8 X 10³⁰⁸ - 1.8 X 10³⁰⁸
数字字面量后面可以直接使用类型后缀,比如42u32,代表这是一个u32类型如果不加制定类型,Rust编译器会默认推断数字为i32类型
0x,0o和0b分别表示十六进制、八进制、二进制类型。
Rust中也可以写字节字面量,比如b开头的字符b'*',他实际等价于42u8
浮点数也可以家类型后缀,如果没有默认浮点数为f64, std::f32和std::f64提供了IEEE所需的特殊常量值、比如INFINITY无穷大,NEG_INFINITY负无穷大,NAN非数字值,MIN最小有限值,MAX最大有限值