面试题答案
一键面试- 表示一个字节的像素值:
- 应选择
u8
。 - 原因:一个字节由8位组成,
u8
是无符号8位整数类型,正好可以表示0到255的范围,通常像素值在这个范围内,所以u8
是最适合表示一个字节像素值的类型。
- 应选择
- 记录一个游戏中的玩家得分,得分范围预计在0到65535之间:
- 应选择
u16
。 - 原因:
u16
是无符号16位整数类型,其取值范围是0到65535,能满足得分范围的要求,相比更大的类型如u32
等,u16
占用空间更小,在内存使用上更高效。
- 应选择
- 用于计算一个大型数组的索引,该数组可能非常大,超过32位能表示的范围:
- 应选择
usize
。 - 原因:
usize
的大小取决于目标机器的架构(在32位系统上是32位,在64位系统上是64位),它用于表示内存地址和集合的长度等,能适应不同架构下大型数组索引的需求,并且在不同架构下都能保证足够大的表示范围,而u32
在32位系统下最大只能表示约42亿,可能无法满足大型数组索引的要求。
- 应选择