Функция math.Ldexp

Функция math.Ldexp принимает два параметра: дробное число frac типа float64 и целочисленный показатель степени exp типа int. Она возвращает результат вычисления frac * 2**exp как значение типа float64. Эта функция полезна для восстановления исходного числа после его разложения с помощью функции math.Frexp.

Синтаксис

gomath.Ldexp(frac, exp)

Пример

Давайте умножим число 0.75 на 2 в степени 3:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Ldexp(0.75, 3)
  fmt.Println(res)
}

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

go6

Пример

Используем отрицательный показатель степени для уменьшения числа:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Ldexp(5.0, -2)
  fmt.Println(res)
}

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

go1.25

Пример

Восстановим число после разложения с помощью math.Frexp:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  original := 12.345
  frac, exp := math.Frexp(original)
  restored := math.Ldexp(frac, exp)
  fmt.Println(restored)
}

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

go12.345

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

  • функцию math.Frexp,
    которая разбивает число на дробную часть и степень двойки
  • функцию math.Pow,
    которая возводит число в указанную степень
  • функцию math.Exp2,
    которая вычисляет 2 в указанной степени
  • функцию math.Log2,
    которая вычисляет двоичный логарифм числа