РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
402 of 1593 menu

Функция math.Nextafter

Функция math.Nextafter возвращает следующее представимое число с плавающей точкой после x в направлении y. В первый параметр мы передаем исходное число, во второй параметр мы передаем целевое число, в направлении которого будет выполняться поиск следующего представимого значения. Если x и y равны, функция возвращает x. Функция работает с типами float64 и возвращает значение того же типа.

Синтаксис

math.Nextafter(x, y float64) float64

Пример

Давайте найдем следующее представимое число после 1.0 в положительном направлении:

package main import ( "fmt" "math" ) func main() { res := math.Nextafter(1.0, 2.0) fmt.Println(res) }

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

1.0000000000000002

Пример

Давайте найдем следующее представимое число после 1.0 в отрицательном направлении:

package main import ( "fmt" "math" ) func main() { res := math.Nextafter(1.0, 0.0) fmt.Println(res) }

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

0.9999999999999999

Пример

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

package main import ( "fmt" "math" ) func main() { res := math.Nextafter(3.14, 3.14) fmt.Println(res) }

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

3.14

Пример

Давайте используем функцию для перебора чисел в цикле с шагом в одно представимое значение:

package main import ( "fmt" "math" ) func main() { x := 1.0 for i := 0; i < 3; i++ { fmt.Printf("%.20f\n", x) x = math.Nextafter(x, 2.0) } }

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

"1.00000000000000000000" "1.00000000000000022204" "1.00000000000000044409"

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

  • функцию math.Pow,
    которая возводит число в степень
  • функцию math.Sqrt,
    которая вычисляет квадратный корень
  • функцию math.Abs,
    которая возвращает абсолютное значение числа
  • функцию math.Copysign,
    которая копирует знак одного числа в другое
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить