Целое число
Функции для работы с целыми числами.
Обзор
Функции
- digits(целое число, основание \\ 10)
-
Возвращает упорядоченный список цифр для данного
integer - floor_div(делимое, делитель)
-
Выполняет целочисленное деление с округлением вниз
- gcd(целое число1, целое число2)
-
Возвращает наибольший общий делитель двух заданных целых чисел
- is_even(целое число)
-
Определяет, является ли
integerчётным - is_odd(целое число)
-
Определяет, является ли
integerнечётным - mod(делимое, делитель)
-
Вычисляет остаток от целочисленного деления
- parse(двоичное представление, основание \\ 10)
-
Парсит текстовое представление целого числа
- to_charlist(целое число)
-
Возвращает список символов, соответствующий текстовому представлению данного
integer - to_charlist(целое число, основание)
-
Возвращает список символов, соответствующий текстовому представлению
integerв заданномbase - to_string(целое число)
-
Возвращает двоичное представление, соответствующее текстовому представлению
integer - to_string(целое число, основание)
-
Возвращает двоичное представление, соответствующее текстовому представлению
integerв заданномbase - undigits(цифры, основание \\ 10)
-
Возвращает целое число, представленное упорядоченными
digits
Функции
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()) :: pos_integer()
gcd(0, 0) :: 0
Возвращает наибольший общий делитель двух заданных целых чисел.
Наибольший общий делитель (НОД) 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
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
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(882681651, 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(882681651, 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.6.6/Integer.html