浮点型
浮点型
说明
说明
float32
会将超出精度的数字被近似到最接近的可表示值
特性 | float32 | float64 |
---|---|---|
总位数 | 32 位 | 64 位 |
符号位 | 1 位 | 1 位 |
指数位 | 8 位 | 11 位 |
尾数位 | 23 位 | 52 位 |
偏移量 (Bias) | 127 | 1023 |
指数范围 | -126 到 +127 | -1022 到 +1023 |
最大值 | ≈ 3.4 × 10³⁸ | ≈ 1.8 × 10³⁰⁸ |
最小次正规值 | ≈ 1.18 × 10⁻³⁸ | ≈ 2.23 × 10⁻³⁰⁸ |
有效数字精度 | 大约 7 位十进制 | 大约 15-16 位十进制 |
内存占用 | 4 字节 | 8 字节 |
适用场景 | 内存和效率优先,如游戏开发等 | 高精度需求,如科学计算和金融分析 |
示例
代码示例
package main
import "fmt"
func main() {
var f32 float32 = 1.12345678901234567890 // float32 精度限制
var f64 float64 = 1.12345678901234567890 // float64 精度更高
fmt.Println("float32:", f32) // float32精确到小数点后7位 1.1234567 输出近似值即1.1234568
fmt.Println("float64:", f64) // float64精确到小数点后16位 1.1234567890123456 输出近似值1.1234567890123457
}
输出
float32: 1.1234568
float64: 1.1234567890123457