Тип float32
Тип float32 представляет 32-битное число с плавающей точкой
одинарной точности в соответствии со стандартом IEEE-754.
Он занимает 4 байта в памяти и может хранить числа с плавающей
точкой в диапазоне примерно от ±1.18×10⁻³⁸ до ±3.4×10³⁸.
Этот тип используется, когда важна экономия памяти, а высокая
точность не требуется.
Синтаксис
Для объявления переменной типа float32 используется ключевое
слово float32. Литералы чисел с плавающей точкой по умолчанию
имеют тип float64, поэтому для явного указания float32
необходимо использовать приведение типа или суффикс f
(при работе с константами).
var x float32 = 3.14
var y float32 = 2.5e-3
Пример
Давайте объявим переменную типа float32 и выведем ее значение:
package main
import "fmt"
func main() {
var num float32 = 3.14159
fmt.Println(num)
}
Результат выполнения кода:
3.14159
Пример
Давайте выполним арифметические операции с числами типа float32:
package main
import "fmt"
func main() {
a := float32(10.5)
b := float32(3.2)
sum := a + b
diff := a - b
prod := a * b
quot := a / b
fmt.Println(sum)
fmt.Println(diff)
fmt.Println(prod)
fmt.Println(quot)
}
Результат выполнения кода:
13.7
7.3
33.6
3.28125
Пример
Давайте сравним точность типов float32 и float64
при выполнении математических операций:
package main
import "fmt"
func main() {
var f32 float32 = 1.0 / 3.0
var f64 float64 = 1.0 / 3.0
fmt.Println(f32)
fmt.Println(f64)
}
Результат выполнения кода:
0.33333334
0.3333333333333333
Как видно из примера, float32 имеет меньшую точность
и округляет результат на 8-м знаке после запятой.
Пример
Давайте создадим слайс чисел типа float32 и вычислим их сумму:
package main
import "fmt"
func main() {
numbers := []float32{1.5, 2.7, 3.1, 4.8, 5.2}
var sum float32 = 0.0
for _, num := range numbers {
sum += num
}
fmt.Println(sum)
}
Результат выполнения кода:
17.3