Функция math.Ldexp
Функция math.Ldexp принимает два параметра: дробное число
frac типа float64 и целочисленный показатель
степени exp типа int. Она возвращает результат
вычисления frac * 2**exp как значение типа
float64. Эта функция полезна для восстановления
исходного числа после его разложения с помощью функции
math.Frexp.
Синтаксис
math.Ldexp(frac, exp)
Пример
Давайте умножим число 0.75 на 2 в степени 3:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Ldexp(0.75, 3)
fmt.Println(res)
}
Результат выполнения кода:
6
Пример
Используем отрицательный показатель степени для уменьшения числа:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Ldexp(5.0, -2)
fmt.Println(res)
}
Результат выполнения кода:
1.25
Пример
Восстановим число после разложения с помощью math.Frexp:
package main
import (
"fmt"
"math"
)
func main() {
original := 12.345
frac, exp := math.Frexp(original)
restored := math.Ldexp(frac, exp)
fmt.Println(restored)
}
Результат выполнения кода:
12.345
Смотрите также
-
функцию
math.Frexp,
которая разбивает число на дробную часть и степень двойки -
функцию
math.Pow,
которая возводит число в указанную степень -
функцию
math.Exp2,
которая вычисляет 2 в указанной степени -
функцию
math.Log2,
которая вычисляет двоичный логарифм числа