zhcn 编程语言 Golang 非公開: Go语言浮点类型(十进制类型)

Go语言浮点类型(十进制类型)

Go语言提供了两种精度浮点数:float32和float64,其算术规范由浮点数国际标准IEEE754定义,所有现代CPU都支持该标准。

这些浮点值的范围从非常小到非常大。您可以在数学包中找到浮点值范围的限制。

  • 常量 math.MaxFloat32 表示 float32 可以具有的最大值(大约 3.4e38)。
  • 常量 math.MaxFloat64 表示 float64 可以具有的最大值,大约为 1.8e308。
  • float32和float64可以表示的最小值分别是1.4e-45和4.9e-324。

float32 类型的浮点数可以提供大约 6 位小数位的精度,而 float64 类型可以提供大约 15 位小数位的精度。一般来说,应该首先使用float64类型,因为float32类型的累积计算误差为:它很容易传播,并且 float32 只能准确地表示非常大的正整数。

 var f float32 = 16777216 // 1 << 24 
fmt.Println(f == f+1) // "true"!

浮点数只能在如下声明时写入其整数或小数部分:

 const e = .71828 // 0.71828
const f = 1.     // 1 

非常小或非常大的数字最好用科学记数法表示,将指数指定为 e 或 E。

 定数(コードの抜粋)を日本語に翻訳します。

const Avogadro = 6.02214129e23  // 阿伏伽徳定数
const Planck   = 6.62606957e-34 // プランク定数 

使用Printf函数打印浮点数时,可以使用“%f”来控制小数点右边的位数。

 package main
import (
    "fmt"
    "math"
)

func main() {
    fmt.Printf("%f\n", math.Pi)
    fmt.Printf("%.2f\n", math.Pi)
} 

执行结果如下。

3.141593
3.14

《Go语言浮点类型(十进制类型)》通俗易懂的讲解!您必须观看的 2 个最佳视频

浮動小数点数とは
https://www.youtube.com/watch?v=Rlw2vpSyA1s&pp=ygUuIEdv6KiA6Kqe5rWu5YuV5bCP5pWw54K55Z6LKDEw6YCy5pWw5Z6LKSZobD1KQQ%3D%3D
基本情報技術者試験/n進数の小数表現(2進小数)
https://www.youtube.com/watch?v=M3x5J4jUYrc&pp=ygUuIEdv6KiA6Kqe5rWu5YuV5bCP5pWw54K55Z6LKDEw6YCy5pWw5Z6LKSZobD1KQQ%3D%3D
Go语言提供了两种精度浮点数:float32和float64,其算术规范由浮点数国际标准IEEE754定义,所有现代CPU都支持该标准。

这些浮点值的范围从非常小到非常大。您可以在数学包中找到浮点值范围的限制。

  • 常量 math.MaxFloat32 表示 float32 可以具有的最大值(大约 3.4e38)。
  • 常量 math.MaxFloat64 表示 float64 可以具有的最大值,大约为 1.8e308。
  • float32和float64可以表示的最小值分别是1.4e-45和4.9e-324。

float32 类型的浮点数可以提供大约 6 位小数位的精度,而 float64 类型可以提供大约 15 位小数位的精度。一般来说,应该首先使用float64类型,因为float32类型的累积计算误差为:它很容易传播,并且 float32 只能准确地表示非常大的正整数。

 var f float32 = 16777216 // 1 << 24 
fmt.Println(f == f+1) // "true"!

浮点数只能在如下声明时写入其整数或小数部分:

 const e = .71828 // 0.71828
const f = 1.     // 1 

非常小或非常大的数字最好用科学记数法表示,将指数指定为 e 或 E。

 定数(コードの抜粋)を日本語に翻訳します。

const Avogadro = 6.02214129e23  // 阿伏伽徳定数
const Planck   = 6.62606957e-34 // プランク定数 

使用Printf函数打印浮点数时,可以使用“%f”来控制小数点右边的位数。

 package main
import (
    "fmt"
    "math"
)

func main() {
    fmt.Printf("%f\n", math.Pi)
    fmt.Printf("%.2f\n", math.Pi)
} 

执行结果如下。

3.141593
3.14

《Go语言浮点类型(十进制类型)》通俗易懂的讲解!您必须观看的 2 个最佳视频

浮動小数点数とは
https://www.youtube.com/watch?v=Rlw2vpSyA1s&pp=ygUuIEdv6KiA6Kqe5rWu5YuV5bCP5pWw54K55Z6LKDEw6YCy5pWw5Z6LKSZobD1KQQ%3D%3D
基本情報技術者試験/n進数の小数表現(2進小数)
https://www.youtube.com/watch?v=M3x5J4jUYrc&pp=ygUuIEdv6KiA6Kqe5rWu5YuV5bCP5pWw54K55Z6LKDEw6YCy5pWw5Z6LKSZobD1KQQ%3D%3D