Nuestro equipo de especialistas luego de varios días de trabajo y de recopilar de información, dimos con los datos necesarios, deseamos que todo este artículo sea de utilidad en tu plan.
Funciones para trabajar con números enteros.
Algunas funciones que trabajan con números enteros se encuentran en Kernel
:
abs/1
div/2
max/2
min/2
rem/2
Guardias
- is_even (entero)
-
Determina si un
integer
incluso. - is_odd (entero)
-
Determina si
integer
es impar.
Funciones
- dígitos (entero, base \ 10)
-
Devuelve los dígitos ordenados para el dado
integer
. - Extended_gcd (n, n)
-
Devuelve el máximo común divisor extendido de los dos números enteros dados.
- floor_div (dividendo, divisor)
-
Realiza una división de enteros en el suelo.
- gcd (entero1, entero2)
-
Devuelve el máximo común divisor de los dos números enteros dados.
- mod (dividendo, divisor)
-
Calcula el módulo resto de una división entera.
- analizar (binario, base \ 10)
-
Analiza una representación de texto de un número entero.
- pow (base, exponente)
-
Computa
base
elevado al poder deexponent
. - to_charlist (entero, base \ 10)
-
Devuelve una lista de caracteres que corresponde a la representación de texto de
integer
en el dadobase
. - to_string (entero, base \ 10)
-
Devuelve un binario que corresponde a la representación de texto de
integer
en el dadobase
. - undigits (dígitos, base \ 10)
-
Devuelve el entero representado por el ordenado
digits
.
is_even (entero)Fuente
Determina si un integer
incluso.
Devoluciones true
si el dado integer
es un número par, de lo contrario devuelve false
.
Permitido en cláusulas de guarda.
Ejemplos de
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 (entero)Fuente
Determina si integer
es impar.
Devoluciones true
si el dado integer
es un número impar, de lo contrario devuelve false
.
Permitido en cláusulas de guarda.
Ejemplos de
iex>Integer.is_odd(5)true iex>Integer.is_odd(6)false iex>Integer.is_odd(-5)true iex>Integer.is_odd(0)false
dígitos (entero, base \ 10)Fuente
Especificaciones
digits(integer(),pos_integer())::[integer(),...]
Devuelve los dígitos ordenados para el dado integer
.
Un opcional base
Se puede proporcionar un valor que represente la base de los dígitos devueltos. Este debe ser un número entero> = 2.
Ejemplos de
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]
Extended_gcd (n, n)Fuente
Especificaciones
extended_gcd(integer(),integer())::non_neg_integer(),integer(),integer()
Devuelve el máximo común divisor extendido de los dos números enteros dados.
Utiliza el algoritmo euclidiano extendido para devolver una tupla de tres elementos con la gcd
y los coeficientes m
y n
de la identidad de Bézout de tal manera que:
gcd(a, b)= m*a + n*b
Por convención, extended_gcd(0, 0)
devoluciones 0, 0, 0
.
Ejemplos de
iex>Integer.extended_gcd(240,46)2,-9,47 iex>Integer.extended_gcd(46,240)2,47,-9 iex>Integer.extended_gcd(-46,240)2,-47,-9 iex>Integer.extended_gcd(-46,-240)2,-47,9 iex>Integer.extended_gcd(14,21)7,-1,1 iex>Integer.extended_gcd(10,0)10,1,0 iex>Integer.extended_gcd(0,10)10,0,1 iex>Integer.extended_gcd(0,0)0,0,0
floor_div (dividendo, divisor)Fuente
Especificaciones
floor_div(integer(),neg_integer()|pos_integer())::integer()
Realiza una división de enteros en el suelo.
Plantea un ArithmeticError
excepción si uno de los argumentos no es un número entero, o cuando el divisor
es 0
.
Integer.floor_div/2
realiza derribado División entera. Esto significa que el resultado siempre se redondea hacia el infinito negativo.
Si desea realizar una división entera truncada (redondeando hacia cero), use Kernel.div/2
en lugar de.
Ejemplos de
iex>Integer.floor_div(5,2)2 iex>Integer.floor_div(6,-4)-2 iex>Integer.floor_div(-99,2)-50
gcd (entero1, entero2)Fuente
Especificaciones
gcd(integer(),integer())::non_neg_integer()
Devuelve el máximo común divisor de los dos números enteros dados.
El máximo común divisor (MCD) de integer1
y integer2
es el mayor entero positivo que divide a ambos integer1
y integer2
sin dejar remanente.
Por convención, gcd(0, 0)
devoluciones 0
.
Ejemplos de
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 (dividendo, divisor)Fuente
Especificaciones
mod(integer(),neg_integer()|pos_integer())::integer()
Calcula el módulo resto de una división entera.
Integer.mod/2
utiliza la división en suelo, lo que significa que el resultado siempre tendrá el signo de la divisor
.
Plantea un ArithmeticError
excepción si uno de los argumentos no es un número entero, o cuando el divisor
es 0
.
Ejemplos de
iex>Integer.mod(5,2)1 iex>Integer.mod(6,-4)-2
analizar (binario, base \ 10)Fuente
Especificaciones
parse(binary(),2..36)::integer(), remainder_of_binary ::binary()|:error
Analiza una representación de texto de un número entero.
Un opcional base
al número entero correspondiente. Si base
no se da, se utilizará 10.
Si tiene éxito, devuelve una tupla en forma de integer, remainder_of_binary
. De lo contrario :error
.
Genera un error si base
es menos de 2 o más de 36.
Si desea convertir un entero con formato de cadena directamente en un entero, String.to_integer/1
o String.to_integer/2
se puede utilizar en su lugar.
Ejemplos de
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
pow (base, exponente)Fuente
Especificaciones
pow(integer(),non_neg_integer())::integer()
Computa base
elevado al poder de exponent
.
Ambos base
y exponent
deben ser enteros. El exponente debe ser cero o positivo.
Ver Float.pow/2
para exponenciación de exponentes negativos y flotantes.
Ejemplos de
iex>Integer.pow(2,0)1 iex>Integer.pow(2,1)2 iex>Integer.pow(2,10)1024 iex>Integer.pow(2,11)2048 iex>Integer.pow(2,64)0x10000000000000000 iex>Integer.pow(3,4)81 iex>Integer.pow(4,3)64 iex>Integer.pow(-2,3)-8 iex>Integer.pow(-2,4)16 iex>Integer.pow(2,-2)**(ArithmeticError) bad argument in arithmetic expression
to_charlist (entero, base \ 10)Fuente
Especificaciones
to_charlist(integer(),2..36)::charlist()
Devuelve una lista de caracteres que corresponde a la representación de texto de integer
en el dado base
.
base
puede ser un número entero entre 2 y 36. Si no base
se da, por defecto es 10
.
Incluido por el compilador.
Ejemplos de
iex>Integer.to_charlist(123)'123' iex>Integer.to_charlist(+456)'456' iex>Integer.to_charlist(-789)'-789' iex>Integer.to_charlist(0123)'123' 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 (entero, base \ 10)Fuente
Especificaciones
to_string(integer(),2..36)::String.t()
Devuelve un binario que corresponde a la representación de texto de integer
en el dado base
.
base
puede ser un número entero entre 2 y 36. Si no base
se da, por defecto es 10
.
Incluido por el compilador.
Ejemplos de
iex>Integer.to_string(123)"123" iex>Integer.to_string(+456)"456" iex>Integer.to_string(-789)"-789" iex>Integer.to_string(0123)"123" iex>Integer.to_string(100,16)"64" iex>Integer.to_string(-100,16)"-64" iex>Integer.to_string(882_681_651,36)"ELIXIR"
undigits (dígitos, base \ 10)Fuente
Especificaciones
undigits([integer()],pos_integer())::integer()
Devuelve el entero representado por el ordenado digits
.
Un opcional base
Se puede proporcionar un valor que represente la base de la digits
. La base debe ser un número entero mayor o igual que 2
.
Ejemplos de
iex>Integer.undigits([1,2,3])123 iex>Integer.undigits([1,4],16)20 iex>Integer.undigits([])0
Sección de Reseñas y Valoraciones
Recuerda que puedes mostrar este escrito si te fue de ayuda.