MST
星途 面试题库

面试题:Rust浮点数常量的精度表示

在Rust中,浮点数常量有单精度和双精度之分,请举例说明如何表示这两种精度的浮点数常量,并且阐述它们在内存占用和精度上的区别。
28.3万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试

单精度浮点数常量表示

在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.89f32表示可能会有一定的精度损失。
  • 双精度浮点数(f64:大约能提供15 - 17位有效数字的精度。它能更精确地表示数值,在大多数需要高精度计算的场景下更为适用,如科学计算、金融计算等。例如,在表示圆周率π时,f64可以更精确地接近其真实值。