Функция math.Logb

Функция math.Logb возвращает двоичную экспоненту числа с плавающей точкой, то есть целую часть логарифма по основанию 2 от абсолютного значения числа. В первый параметр функция принимает число типа float64, а возвращает значение типа float64. Фактически, для числа x результат вычисляется как math.Floor(math.Log2(math.Abs(x))). Для нуля, бесконечности и NaN функция возвращает специальные значения в соответствии со спецификацией IEEE 754.

Синтаксис

gomath.Logb(x float64) float64

Пример

Давайте получим двоичную экспоненту для числа '8':

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Logb(8.0)
  fmt.Println(res)
}

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

go"3"

Пример

Давайте получим двоичную экспоненту для числа '0.125':

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Logb(0.125)
  fmt.Println(res)
}

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

go"-3"

Пример

Давайте проверим поведение функции для специальных значений, таких как ноль:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Logb(0.0)
  fmt.Println(res)
}

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

go"-Inf"

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

  • функцию math.Ilogb,
    которая возвращает экспоненту как целое число
  • функцию math.Log2,
    которая возвращает логарифм по основанию 2
  • функцию math.Log,
    которая возвращает натуральный логарифм
  • функцию math.Exp,
    которая возвращает экспоненту от числа