Функция math.Signbit

Функция math.Signbit проверяет, является ли переданное число отрицательным. Она возвращает true, если число отрицательное, и false в противном случае. Первым и единственным параметром функция принимает число типа float64, знак которого необходимо проверить.

Синтаксис

gomath.Signbit(x)

Пример

Давайте проверим знак положительного числа:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Signbit(123.45)
  fmt.Println(res)
}

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

gofalse

Пример

Давайте проверим знак отрицательного числа:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Signbit(-45.67)
  fmt.Println(res)
}

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

gotrue

Пример

Функция корректно обрабатывает ноль, который не является отрицательным числом:

gopackage main

import (
  "fmt"
  "math"
)

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

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

gofalse

Пример

Особенность работы функции заключается в том, что она различает положительный и отрицательный ноль:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  positiveZero := 0.0
  negativeZero := -0.0

  fmt.Println(math.Signbit(positiveZero))
  fmt.Println(math.Signbit(negativeZero))
}

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

gofalse
true

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

  • функцию math.Abs,
    которая возвращает абсолютное значение числа
  • функцию math.Copysign,
    которая копирует знак одного числа к другому
  • функцию math.IsNaN,
    которая проверяет, является ли число нечисловым значением
  • функцию math.IsInf,
    которая проверяет, является ли число бесконечностью