面试题答案
一键面试单精度浮点数常量表示
在Rust中,单精度浮点数使用f32
类型,常量表示时可在数字后加上f32
后缀。例如:
let num1: f32 = 3.14159f32;
双精度浮点数常量表示
双精度浮点数使用f64
类型,通常可以省略后缀(因为默认浮点数类型为f64
),也可加上f64
后缀。例如:
let num2: f64 = 3.141592653589793;
let num3: f64 = 3.141592653589793f64;
内存占用区别
- 单精度浮点数(
f32
):占用4个字节(32位)的内存空间。 - 双精度浮点数(
f64
):占用8个字节(64位)的内存空间。
精度区别
- 单精度浮点数(
f32
):大约能提供7位有效数字的精度。这意味着在表示较大或较小的数值时,从第一个非零数字开始,大约只有7位数字是准确的。例如,1234567.89
用f32
表示可能会有一定的精度损失。 - 双精度浮点数(
f64
):大约能提供15 - 17位有效数字的精度。它能更精确地表示数值,在大多数需要高精度计算的场景下更为适用,如科学计算、金融计算等。例如,在表示圆周率π
时,f64
可以更精确地接近其真实值。