Целые числа
Функции для работы с целыми числами.
Некоторые функции, работающие с целыми числами, находятся в Kernel:
Краткое описание
Условия
- 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