Spec-Zone.ru › Elixir 1.10

Целое число

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

Некоторые функции, работающие с целыми числами, находятся в 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(digits, base \\ 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.10.4/Integer.html

Spec-Zone.ru

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