Тип float32

Тип float32 представляет 32-битное число с плавающей точкой одинарной точности в соответствии со стандартом IEEE-754. Он занимает 4 байта в памяти и может хранить числа с плавающей точкой в диапазоне примерно от ±1.18×10⁻³⁸ до ±3.4×10³⁸. Этот тип используется, когда важна экономия памяти, а высокая точность не требуется.

Синтаксис

Для объявления переменной типа float32 используется ключевое слово float32. Литералы чисел с плавающей точкой по умолчанию имеют тип float64, поэтому для явного указания float32 необходимо использовать приведение типа или суффикс f (при работе с константами).

govar x float32 = 3.14
var y float32 = 2.5e-3

Пример

Давайте объявим переменную типа float32 и выведем ее значение:

gopackage main

import "fmt"

func main() {
  var num float32 = 3.14159
  fmt.Println(num)
}

Результат выполнения кода:

go3.14159

Пример

Давайте выполним арифметические операции с числами типа float32:

gopackage 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)
}

Результат выполнения кода:

go13.7
7.3
33.6
3.28125

Пример

Давайте сравним точность типов float32 и float64 при выполнении математических операций:

gopackage 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)
}

Результат выполнения кода:

go0.33333334
0.3333333333333333

Как видно из примера, float32 имеет меньшую точность и округляет результат на 8-м знаке после запятой.

Пример

Давайте создадим слайс чисел типа float32 и вычислим их сумму:

gopackage 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)
}

Результат выполнения кода:

go17.3

Смотрите также

  • тип float64,
    который представляет 64-битное число с плавающей точкой двойной точности
  • тип int,
    который представляет целое число со знаком
  • тип complex64,
    который представляет комплексное число с компонентами типа float32
  • тип uint,
    который представляет беззнаковое целое число