Spec-Zone.ru › Elixir 1.9

Целые числа

Функции для работы с целыми числами.

Некоторые функции, работающие с целыми числами, находятся в Kernel:

  • abs/1
  • div/2
  • max/2
  • min/2
  • rem/2

Краткое описание

Условия

is_even(целое число)

Определяет, является ли число integer чётным.

is_odd(целое число)

Определяет, является ли integer нечётным.

Функции

digits(целое число, основание \\ 10)

Возвращает упорядоченные цифры для данного integer.

floor_div(делимое, делитель)

Выполняет целочисленное деление с округлением вниз.

gcd(целое число1, целое число2)

Возвращает наибольший общий делитель двух данных целых чисел.

mod(делимое, делитель)

Вычисляет остаток от деления целых чисел.

parse(двоичное, основание \\ 10)

Парсит текстовое представление целого числа.

to_charlist(целое число)

Возвращает список символов, соответствующий текстовому представлению данного integer.

to_charlist(целое число, основание)

Возвращает список символов, соответствующий текстовому представлению integer в заданном base.

to_string(целое число)

Возвращает двоичное представление текстового представления integer.

to_string(целое число, основание)

Возвращает двоичное представление текстового представления integer в заданном base.

undigits(цифры, основание \\ 10)

Возвращает целое число, представленное упорядоченными digits.

Условия

is_even(целое число)

Определяет, является ли число integer чётным.

Возвращает true, если данное integer является чётным числом, в противном случае возвращает false.

Допускается в условиях.

Примеры

iex> Integer.is_even(10)
true

iex> Integer.is_even(5)
false

iex> Integer.is_even(-10)
true

iex> Integer.is_even(0)
true

is_odd(целое число)

Определяет, является ли integer нечётным.

Возвращает true, если данное integer является нечётным числом, в противном случае возвращает false.

Допускается в условиях.

Примеры

iex> Integer.is_odd(5)
true

iex> Integer.is_odd(6)
false

iex> Integer.is_odd(-5)
true

iex> Integer.is_odd(0)
false

Функции

digits(целое число, основание \\ 10)

Спецификации

digits(integer(), pos_integer()) :: [integer(), ...]

Возвращает упорядоченные цифры для данного integer.

Дополнительное значение base может быть предоставлено, представляющее основание для возвращаемых цифр. Это должно быть целое число >= 2.

Примеры

iex> Integer.digits(123)
[1, 2, 3]

iex> Integer.digits(170, 2)
[1, 0, 1, 0, 1, 0, 1, 0]

iex> Integer.digits(-170, 2)
[-1, 0, -1, 0, -1, 0, -1, 0]

floor_div(делимое, делитель)

Спецификации

floor_div(integer(), neg_integer() | pos_integer()) :: integer()

Выполняет целочисленное деление с округлением вниз.

Вызывает исключение ArithmeticError, если один из аргументов не является целым числом или когда divisor является 0.

Integer.floor_div/2 выполняет целочисленное деление с округлением вниз. Это означает, что результат всегда округляется до ближайшего меньшего целого числа.

Если требуется выполнить целочисленное деление с усечением (округление к нулю), используйте Kernel.div/2 вместо этого.

Примеры

iex> Integer.floor_div(5, 2)
2
iex> Integer.floor_div(6, -4)
-2
iex> Integer.floor_div(-99, 2)
-50

gcd(целое число1, целое число2)

Спецификации

gcd(integer(), integer()) :: non_neg_integer()

Возвращает наибольший общий делитель двух данных целых чисел.

Наибольший общий делитель (НОД) integer1 и integer2 — это наибольшее положительное целое число, которое делит как integer1, так и integer2 без остатка.

По соглашению, gcd(0, 0) возвращает 0.

Примеры

iex> Integer.gcd(2, 3)
1

iex> Integer.gcd(8, 12)
4

iex> Integer.gcd(8, -12)
4

iex> Integer.gcd(10, 0)
10

iex> Integer.gcd(7, 7)
7

iex> Integer.gcd(0, 0)
0

mod(делимое, делитель)

Спецификации

mod(integer(), neg_integer() | pos_integer()) :: integer()

Вычисляет остаток от деления целых чисел.

Integer.mod/2 использует целочисленное деление с округлением вниз, что означает, что результат всегда имеет знак divisor.

Вызывает исключение ArithmeticError, если один из аргументов не является целым числом, или если divisor равно 0.

Примеры

iex> Integer.mod(5, 2)
1
iex> Integer.mod(6, -4)
-2

parse(двоичное, основание \\ 10)

Спецификации

parse(binary(), 2..36) :: {integer(), binary()} | :error

Парсит текстовое представление целого числа.

Дополнительное base в соответствующее целое число может быть предоставлено. Если base не указано, используется 10.

При успехе возвращает кортеж в формате {integer, remainder_of_binary}. В противном случае :error.

Вызывает ошибку, если base меньше 2 или больше 36.

Если требуется преобразовать строковое целое число непосредственно в целое число, можно использовать String.to_integer/1 или String.to_integer/2 вместо этого.

Примеры

iex> Integer.parse("34")
{34, ""}

iex> Integer.parse("34.5")
{34, ".5"}

iex> Integer.parse("three")
:error

iex> Integer.parse("34", 10)
{34, ""}

iex> Integer.parse("f4", 16)
{244, ""}

iex> Integer.parse("Awww++", 36)
{509216, "++"}

iex> Integer.parse("fab", 10)
:error

iex> Integer.parse("a2", 38)
** (ArgumentError) invalid base 38

to_charlist(целое число)

Спецификации

to_charlist(integer()) :: charlist()

Возвращает список символов, соответствующий текстовому представлению данного integer.

Встраивается компилятором.

Примеры

iex> Integer.to_charlist(123)
'123'

iex> Integer.to_charlist(+456)
'456'

iex> Integer.to_charlist(-789)
'-789'

iex> Integer.to_charlist(0123)
'123'

to_charlist(целое число, основание)

Спецификации

to_charlist(integer(), 2..36) :: charlist()

Возвращает список символов, соответствующий текстовому представлению integer в заданном base.

base может быть целым числом от 2 до 36.

Встраивается компилятором.

Примеры

iex> Integer.to_charlist(100, 16)
'64'

iex> Integer.to_charlist(-100, 16)
'-64'

iex> Integer.to_charlist(882_681_651, 36)
'ELIXIR'

to_string(целое число)

Спецификации

to_string(integer()) :: String.t()

Возвращает двоичное представление текстового представления integer.

Встраивается компилятором.

Примеры

iex> Integer.to_string(123)
"123"

iex> Integer.to_string(+456)
"456"

iex> Integer.to_string(-789)
"-789"

iex> Integer.to_string(0123)
"123"

to_string(целое число, основание)

Спецификации

to_string(integer(), 2..36) :: String.t()

Возвращает двоичное представление текстового представления integer в заданном base.

base может быть целым числом от 2 до 36.

Встраивается компилятором.

Примеры

iex> Integer.to_string(100, 16)
"64"

iex> Integer.to_string(-100, 16)
"-64"

iex> Integer.to_string(882_681_651, 36)
"ELIXIR"

undigits(цифры, основание \\ 10)

Спецификации

undigits([integer()], pos_integer()) :: integer()

Возвращает целое число, представленное упорядоченными digits.

Дополнительное значение base может быть предоставлено, представляющее основание для digits. Основание должно быть целым числом, большим или равным 2.

Примеры

iex> Integer.undigits([1, 2, 3])
123

iex> Integer.undigits([1, 4], 16)
20

iex> Integer.undigits([])
0

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.9.4/Integer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API