Rust 整数
表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 |