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
複素数
浮動小数点数は複素数にも使われる。実数部と虚数部が浮動小数点数です。
複素数については、別の記事でしっかり説明します。