Golangにおける浮動小数点数(float)について

Goの不動小数点数(float)

GoはIEEE-754の32ビットと64ビットの浮動小数点数を広範囲にサポートしています。

package main
 
import (
    "fmt"
)
 
func main() {
    var f float32 
    var f2 float64 
    f = 12.34567890123456
    f2 = 12.34567890123456
    fmt.Println(f, f2)
}

実行結果

12.345679 12.34567890123456

浮動小数点数による精度の損失

64ビット浮動小数点数を32ビット浮動小数点数に変換すると精度の損失が発生します。

package main
 
import (
    "fmt"
)
 
func main() {
    var f1 float32
    var f2 float64
     
    f2 = 1.234567890123
    f1 = float32(f2) 
     
    fmt.Println(f1)
}

実行結果

1.2345679

複素数

浮動小数点数は複素数にも使われる。実数部と虚数部が浮動小数点数です。

複素数については、別の記事でしっかり説明します。

タイトルとURLをコピーしました