Go语言浮点型教程
中的浮点类型是用于存放小数的。Go 语言浮点类型提供了两种精度的浮点数,float32 和 float64。Go 语言 可以分为有符号整数和无符号整数两大类型,但 Go 语言浮点类型不支持无符号类型。
Go语言浮点型精度
一个 float32 类型的浮点数可以提供大约 6 个十进制数的精度,而 float64 则可以提供约 15 个十进制数的精度。
通常应该优先使用 float64 类型,因为 float32 类型的累计计算误差很容易扩散,并且 float32 能精确表示的正整数并不是很大。
因为 float32 的有效 bit 位只有 23 个,其它的 bit 位用于指数和符号,所以当整数大于 23 bit 能表达的范围时,float32 的表示将出现误差。
Go 语言浮点型表示的数值在很小或很大的时候最好用科学计数法书写,通过 e 或 E 来指定指数部分。
Go语言浮点型取值范围
数据类型 | 最大值 | 常量 |
---|---|---|
float32 | 3.4e38 | math.MaxFloat32 |
float64 | 1.8e308 | math.MaxFloat64 |
案例
浮点型类型
Go 语言浮点型可以使用科学计数法的形式表示
package main import "fmt" func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") var score float32 = -1.1 var temp float64 = 12.2e10 fmt.Print("Score = ", score, " Temp = ", temp) }
程序运行后,控制台输出如下:
我们定义了一个 float32 类型的变量 score,并给其赋初值为 -1.1。接着我们定义了一个 float64 类型的变量 temp,并且使用科学计数法的形式给其赋初值。
浮点类型最大值
Go 语言中的浮点类型的最大值常量定义在 Math 包
package main import ( "fmt" "math" ) func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") var float32Max = math.MaxFloat32 var float64Max = math.MaxFloat64 fmt.Print("Float32Max = ", float32Max, " Float64Max = ", float64Max) }
程序运行后,控制台输出如下:
我们使用 math.MaxFloat32 常量打印出了 float32 类型的最大值。使用 math.MaxFloat64 常量打印出了 float64 类型的最大值。
Go语言浮点型总结
Go 语言提供了两种精度的浮点数,float32 和 float64。Go 语言整数类型可以分为有符号整数和无符号整数两大类型,但 Go 语言浮点类型不支持无符号类型。
Go 语言浮点型表示的数值在很小或很大的时候最好用科学计数法书写,通过 e 或 E 来指定指数部分。