Está en la página 1de 9

Matemática discreta

Teoría de números

Representación de números enteros

Representación de números enteros Aritmética Modular 1 1/9


Representación de números enteros

Observación: En muchas ocasiones representamos los enteros no negativos


n ∈ Z+ en base 10. Por ejemplo:
67531 = 6 × 104 + 7 × 103 + 5 × 102 + 3 × 101 + 1×100 .
Pero podemos usar cualquier número natural b > 1 en vez del 10 para
representar cualquier número n ∈ Z+ . Ésto es útil en informática:
Representación binaria: b = 2.
Representación hexadecimal: b = 16.

Representación de números enteros Aritmética Modular 2 2/9


Teorema
Sea b > 1 un número natural (la base de la representación). Entonces,
cualquier número n ∈ Z+ se puede expresar de manera única como
n = ak · bk + ak −1 · bk −1 + . . . + a1 · b + a0 ,
donde k ∈ Z+ , 0 ≤ a0 , a1 , . . . , ak −1 < b y 1 ≤ ak < b son enteros. La
representación de n en base b es
n = (ak ak −1 . . . a2 a1 a0 )b .

Nota: En base 10 se omiten los paréntesis: (1023)10 = 1023.

Representación de números enteros Aritmética Modular 3 3/9


Transformaciones entre bases distintas
Normalmente se usan tres bases: 10 (decimal), 8 (octal) y 16 (hexadecimal).
En la primera se corre el cero justo después de 9, en la octal justo despues de
7 y en la base hexadecimal tenemos 16 que van de 0 al 9 y luego se usan A,
B, C, D y F, entonces se corre el cero. Es decir, hay 16 posibles restos de
dividir cualquier número por 16: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 = A, 11 = B,
12 = C,13 = D, 14 = E y 15 = F.
Muchas veces necesitamos pasar un número de una base a otra. En función
de esto tendremos dos tipos de problemas:
Dada una expresión de un entero en base b, obtener la expresión de dicho
entero en base decimal (b = 10).
Dada una expresión de un entero en base decimal, obtener la expresión
de dicho entero en base b > 1.

Representación de números enteros Aritmética Modular 4 4/9


Problema #1: Dada una expresión de un entero en base b, obtener la
expresión de dicho entero en base decimal (b = 10).
k
X
Si n = (ak ak −1 . . . a1 a0 )b , entonces n = ak · bk .
j=0
Ejemplos:
Base binaria b = 2: Si 7n = (11010100)2 ,
X
n = ak · 2k = 27 + 26 + 24 + 22 = 212 .
j=0
Base octal b 6= 8: Si n = (7630023)8 ,
X
n = ak · 8k = 7 · 86 + 6 · 85 + 3 · 84 + 2 · 8 + 3 = 2043923 .
j=0
Base hexadecimal
3
b = 16: Si n = (BB34)16 ,
X
n = ak · 16k = 11 · 163 + 11 · 162 + 3 · 16 + 4 = 47924 .
j=0
Representación de números enteros Aritmética Modular 5 5/9
Problema #2: Dada una expresión de un entero en base decimal, obtener la
expresión de dicho entero en base b > 1.
Algoritmo
procedure BaseForm( n ∈ Z+ , b ∈ N con b > 1)
q=n
k =0
while q 6= 0
begin
ak = q (mod b)
q = bq/bc [ = q div b]
k =k +1
end
return (akfinal . . . a1 a0 )b

Representación de números enteros Aritmética Modular 6 6/9


Ejemplo:
Calcular la expresión binaria de n = 241.

241 = 2 · 120 + 1,
120 = 2 · 60 + 0,
60 = 2 · 30 + 0,
30 = 2 · 15 + 0,
15 = 2 · 7 + 1,
7 = 2 · 3 + 1,
3 = 2 · 1 + 1,
1 = 2 · 0 + 1,
241 = (11110001)2
Representación de números enteros Aritmética Modular 7 7/9
Ejemplo:
Calcular la expresión octal de n = 12345.

12345 = 8 · 1543 + 1,
1543 = 8 · 192 + 7,
192 = 8 · 24 + 0,
24 = 8 · 3 + 0,
3 = 8 · 0 + 3,
12345 = (30071)8

Representación de números enteros Aritmética Modular 8 8/9


Ejemplo:
Calcular la expresión hexadecimal de n = 177130.

177130 = 16 · 11070 + 10,


11070 = 16 · 691 + 14,
691 = 16 · 43 + 3,
43 = 16 · 2 + 11,
2 = 16 · 0 + 2,
177130 = (2B3EA)16
Recordatorio: 10 = A, 11 = B, 12 = C, 13 = D, 14 = E y 15 = F.

Representación de números enteros Aritmética Modular 9 9/9

También podría gustarte