答案解析:
答案:错误
i32是有符号32位整数,范围是-2,147,483,648到2,147,483,647。
u32是无符号32位整数,范围是0到4,294,967,295。
虽然都是32位,但存储的数值范围不同。
答案解析:
答案:i24
Rust的基本整数类型包括:i8, i16, i32, i64, i128, isize和u8, u16, u32, u64, u128, usize。
没有i24这种类型,Rust只提供2的幂次方位数的整数类型。
答案解析:
答案:64位
usize和isize的大小取决于目标架构的指针大小。
在64位系统上是64位,在32位系统上是32位。
它们主要用于数组索引和内存地址相关操作。
答案解析:
答案:错误
Rust中的char类型是32位的Unicode标量值,不是8位。
它可以存储任何Unicode字符,包括emoji、中文等。
如果只需要存储ASCII字符,可以使用u8类型。
答案解析:
答案:B
u8类型的范围是0到255,256超出了这个范围。
A: 255是u8的最大值,合法。
C: -128是i8的最小值,合法。
D: 127是i8的最大值,合法。
答案解析:
答案:f32, f64
f32是32位单精度浮点数,符合IEEE-754标准。
f64是64位双精度浮点数,也符合IEEE-754标准。
默认的浮点数类型是f64,因为现代CPU上f64和f32的性能差不多,但f64精度更高。
答案解析:
答案:1字节
虽然bool只需要1位来存储true/false,但由于内存对齐的原因,它占用1字节。
bool类型只有两个值:true和false。
可以使用std::mem::size_of::
答案解析:
答案:正确
Rust中的数组(array)长度是类型的一部分,必须在编译时确定。
例如:[i32; 5]和[i32; 10]是不同的类型。
如果需要动态大小的集合,应该使用Vec
答案解析:
答案:(i32, f64, bool)
元组使用圆括号()来定义,可以包含不同类型的元素。
方括号[]用于数组,花括号{}用于结构体,尖括号<>用于泛型。
元组的元素可以通过.0, .1, .2等索引访问。
答案解析:
答案:约1.7e38
i128的范围是-2^127到2^127-1。
最大值是2^127-1 = 170,141,183,460,469,231,731,687,303,715,884,105,727。
用科学记数法表示约为1.7 × 10^38。
这是一个非常大的数,足以处理大多数需要超大整数的场景。