表1 整数类型
| 大小(位) | 有符号整数 | 无符号整数 |
|---|---|---|
| 8 | i8 | u8 |
| 16 | i16 | u16 |
| 32 | i32 | u32 |
| 64 | i64 | u64 |
| 128 | i128 | u128 |
| 机器字 | isize | usize |
表2 整数字面量
| 序号 | 说明 | 案例 |
|---|---|---|
| 1 | 可以在整数任意位置添加下划线_ | 1234_5678、1_2_3_4_5_6_7_8、12_345_678 都合法的整数,都表示数12345678 |
| 2 | 字面量可以跟类型后缀,表示具体类型 | 123i32是i32类型 |
| 3 | 整型字面量可以直接调用函数 | 9.pow(3));//直接调用pow函数 |
| 4 | 用前缀0x、0o、0b分别表示十六进制、八进制、和二进制 | 0x11、0o21、0b10001 |
表3 整数方法
| 方法 | 说明 | 案例 |
|---|---|---|
| Max、MIN | 取整数类型最大、最小值 | i8::MIN//-128 |
| BITS | 取整数类型位数 | i8::BITS//8 |
| from_str_radix | 字符转整数类型Result类型 | i32::from_str_radix("123",10)//Ok(123) |
| to_string | 整数类型转整String类型 | 123.to_string()//"123" |
| count_ones | 返回整数二进制有多少个1 | 1u8.count_ones()//1 |
| count_zeros | 返回整数二进制有多少个0 | 1u8.count_ones()//7 |
| leading_zeros | 返回整数二进制前导0个数 | 1u8.count_ones()//7 |