lógica y algoritmos sistemas de numeración
TRANSCRIPT
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 1
Tema 1 Sistemas de numeración (Conceptos Básicos)
Tomado de https://pixabay.com/es/vectors/search/software/
El hombre en su diario vivir, almacena información y la maneja con diferentes formas
de representación, cuando comenzaron a contar, la primera herramienta para
realizarlo fueron los dedos, luego las piedras, los bastones e incluso los nudos en una
cuerda para representar cada uno de los valores y representar el conteo. Cuando se
llegaba a un determinado valor se utilizaba una marca distinta, de ahí que de forma
primitiva, se basaban en el 5 el 10 o el 20 por el número de dedos de una mano, las
dos e incluso los pies, pero era una forma muy limitada. Un ejemplo sencillo radica en
que cuando se pasaba de 20 teniendo en cuenta los dedos de pies y manos, entonces
se realizaba un nudo en una cuerda, esto representaba 20 unidades y se arrancaba de
nuevo el conteo.
Entre las primeras culturas que desarrollaron un sistema de numeración tenemos: los
egipcios, los babilónicos, los mayas, los romanos, los hindúes etc., una multiplicidad
de símbolos que permitían realizar el conteo de elementos
Los egipcios representan una de las civilizaciones más antiguas y desarrolladas del
mundo; emplearon el sistema duodecimal en la subdivisión del año (en doce meses,
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 2
correspondientes a sus doce dioses principales) y del día (en doce horas de claridad y
doce de tinieblas), su numeración era decimal y contaba con signos jeroglíficos para
las cifras del uno al diez y para cien, mil, diez mil, cien mil y un millón.
Los babilonios, al igual que los egipcios, desarrollaron su propio sistema de
numeración, ellos escribían sobre tablillas de arcilla, en donde utilizaban la escritura
cuneiforme y no tenían ningún símbolo para representar el cero. Utilizaban un sistema
de numeración de valor posicional a través de dos símbolos básicos en forma de cuña.
Una en forma vertical para las unidades y otra en forma horizontal para las decenas.
Los mayas inventaron un sistema de numeración en donde aparece por primera vez el
cero, además de que su base era el veinte, ya que se cree, que tal vez sea por el
hecho de contemplar los dedos de pies y manos. Esta civilización representó cada
cantidad por medio de símbolos que según la posición que ocupaban adquiría cierto
valor, es decir el sistema maya así como el decimal es un sistema de posiciones. El
símbolo del cero en cualquier posición indica ausencia de cantidad.
Los hindúes representaron con nueve símbolos diferentes, uno por cada número del
uno al nueve. Éstos han cambiado con el tiempo, pero llegaron a Europa en su forma
actual en el siglo XVI.
Por su parte, los griegos y los hebreos, utilizaron nueve símbolos diferentes para estos
números. En cada caso, los símbolos eran las primeras nueve letras de sus alfabetos.
El Imperio Romano desarrolló un sistema de numeración que se usó en Europa hasta
el siglo XVII. En la actualidad es muy conocido y se usa para indicar los tomos de una
obra, los capítulos de un libro, el nombre del siglo, el nombre de una época, para las
fechas, para los personajes de mismo nombre y las horas en las carátulas de algunos
relojes.1
1Página del Colegio de Matemáticas de la ENP-UNAM Sistemas de numeración Autor: Dr. José Manuel
Becerra Espinosa
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 3
¿Qué es un sistema de numeración?
Un sistema de numeración es un conjunto de símbolos y reglas que permiten
representar datos numéricos. Los sistemas de numeración actuales son sistemas
posicionales, que se caracterizan porque un símbolo tiene distinto valor según la
posición que ocupa en la cifra.
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 4
Clasificación de los sistemas de numeración
Los sistemas de numeración pueden clasificarse en dos grupos que son:
S. Numeración No-posicionales: son los más primitivos se usaban por ejemplo
los dedos de la mano para representar la cantidad cinco y después se hablaba de
cuántas manos se tenía. En los sistemas no-posicionales los dígitos tienen
el valor del símbolo utilizado, que no depende de la posición (columna) que ocupan
en el número. Además, en algunas pocas lenguas los numerales básicos a partir
de cuatro tienen nombres basados en numerales más pequeños.
Como ejemplo tenemos: el sistema el antiguo Egipto, el sistema de numeración
romana, y los usados en Mesoamérica por mayas, aztecas y otros pueblos.
S. Numeración posicionales: son los actuales, son sistemas de numeración en
los cuales el valor relativo que representa cada símbolo o cifra de una determinada
cantidad, depende de su valor absoluto y de la posición relativa que ocupa dicha
cifra con respecto a la coma decimal; el valor de cada posición está determinado
por la base del sistema de numeración utilizado. Los dígitos pueden tener dos
valores: un valor absoluto que es el que indica el número de unidades que lo
forman y un valor relativo que es el que adquieren según la posición que ocupan.
Los principales representantes son el sistema de numeración binario, decimal,
octal y hexadecimal.
Concepto de base
La base en un sistema de numeración es el número o cantidad de símbolos diferentes
que se utilizan para representar valores y cantidades, dependiendo de la posición que
ocupe.
Para sistemas de numeración diferentes al sistema de numeración decimal se
recomienda utilizar la notación matemática de la base para distinguir a que sistema de
numeración nos estamos refiriendo y se realiza de la siguiente forma:
Número en base B => número (B)
Sistema de Numeración Decimal
Es un sistema de numeración posicional en el que las cantidades se representan
utilizando como base el número diez, por lo que se compone de diez cifras diferentes:
cero (0); uno (1); dos (2); tres (3); cuatro (4); cinco (5); seis (6); siete (7); ocho (8) y
nueve (9) a los que otorga un valor dependiendo de la posición que ocupen en la
cifra: unidades, decenas, centenas, millares, etc.
El valor de cada dígito está asociado al de una potencia de base 10, número que
coincide con la cantidad de símbolos o dígitos del sistema decimal, y un exponente
igual a la posición que ocupa el dígito menos uno, contando desde la derecha
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 5
Este conjunto de símbolos se denomina números árabes, y es de origen hindú
Un determinado valor o cantidad, que denominaremos número decimal, se puede
expresar de la siguiente forma:
𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 = ∑ 𝑋𝑖 ∗ 𝐵𝑖
𝑖=𝑛
𝑖=−𝑚
Donde:
B = Base i = posición respecto a la coma m = número de dígitos a la derecha de la coma n = número de dígitos a la izquierda de la coma menos 1 X = cada uno de los elementos que componen el número o cantidad
Lo anterior corresponde al Teorema Fundamental de la Numeración, el cual indica
que una cantidad expresada en cualquier sistema de numeración se puede expresar o
tiene su equivalente en sistema de numeración decimal.
Ejemplos:
a. 2017(10) = 2 * 103 + 0 * 102 + 1 * 101 + 7 * 100 2017(10) = 2 * 1000 + 0 * 100 + 1 * 10 + 7 * 1
2017(10) = 2000 + 1 + 100 + 7 2017(10) = 2017(10)
b. 3.1416(10) = 3 * 100 + 1 * 10-1 +4 * 10-2 + 1 * 10-3 + 6 * 10-4 3.1416(10) = 3 * 1 + 1 * (1/10) + 4 * (1/100) + 1 * (1/1000) + 6 * (1/10000)
3.1416(10) = 3 + 0.1 +0.04 + 0.001 + 0.0006 3.1416(10) = 3.1416(10)
Los dos ejemplos anteriores los utilizamos para comprobar que al aplicarle el teorema fundamental de la numeración a un número decimal la respuesta es un número
decimal
A continuación aplicaremos el concepto de teorema fundamental de la numeración con
sistemas de numeración diferentes al decimal
c. 201.2(3) = 2 * 32 + 0* 31 + 1 * 30 + 2 * 3-1 201.2(3) = 2 * 9 + 0 * 3 + 1 * 1 + 2 * (1/3) 201.2(3) = 18 + 0 + 1 + 0.66 201.2(3) = 19.66(10)
d. 527(7) = 5 * 72 + 2 * 71 + 7 * 70 527(7) = 5 * 49 + 2 * 7 + 7 * 1
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 6
527(7) = 245 + 14 + 7 527(7) = 266(10)
e. 0.111(2) = 1 * 2-1 + 1 * 2-2 + 1 * 2-3 0.111(2) = 1 * (½) + 1 * (1/22) + 1 * (1/23) 0.111(2) = 0.5 + 0.25 + 0.125 0.111(2) = 0.875(10)
Las operaciones básicas de la aritmética digital. En sistema decimal son obvias porque
es el sistema de numeración utilizado para nuestro aprendizaje
Tema 2 Sistema de Numeración Binario
Es un sistema de numeración en el que los números se representan utilizando
solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, pues
trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración
natural es el sistema binario (encendido 1, apagado 0); utilizado internamente por los
circuitos digitales que configuran el hardware de las computadoras actuales.
Cada elemento o símbolo de un número que sea representado en sistema binario
recibe el nombre de bit (contracción de binary digit), y es utilizado en la medida de
cantidades de información que se representan en binario.
Suma Binaria:
Es semejante a la suma con decimales, lo que se debe tener en cuenta es el concepto
de base por lo que en este caso solo se manejan dos dígitos el cero (0) y el uno (1), de
tal forma que si el resultado se excede y no se puede representar ese exceso se debe
llevar una base denominada acarreo y adicionar a la suma parcial siguiente hacia la
izquierda tal como se hace en el sistema decimal.
a) Sumar los números binarios 101111 (47) y 1110 (14).
1 1 1
1 0 1 1 1 1
4 7
+ 1 1 1 0
+ 1 4
1 1 1 1 0 1
6 1
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 7
b) Sumar los números binarios 10100101 (165) y 100011111 (287).
1 1 1 1 1 1
1 0 1 0 0 1 0 1
1 6 5
+ 1 0 0 0 1 1 1 1 1
+ 2 8 7
1 1 1 0 0 0 1 0 0
4 5 2
c) Sumar los números binarios 10.10 (2.5) y 11.01 (3.25).
1
1 0. 1 0
2. 5
+ 1 1. 0 1
+ 3. 2 5
1 0 1. 1 1
5. 7 5
d) Sumar los números binarios 1101 (13), 1110 (14), 1100 (12) y 1111 (15).
1
1 1
1 1 1 1
1 1 0 1
1 3
1 1 1 0
1 4
1 1 0 0
1 2
+ 1 1 1 1
+ 1 5
1 1 0 1 1 0
5 4
Resta Binaria:
Es similar al decimal con la diferencia de tener solo 2 dígitos. Al realizar las restas
parciales entre los dígitos, si el sustraendo es mayor que el minuendo, entonces se
sustrae una unidad del siguiente dígito a la izquierda en el minuendo realizando un
préstamo de una base que en este caso sería de dos elementos por ser sistema
binario. En el caso dado que el siguiente número sea un cero se busca sucesivamente
hasta que se encuentra un elemento con valor numérico igual a 1.
a) Restar los número binarios 111100 (60) y 101010 (42).
0 2
1 1 1 1 0 0
6 0
- 1 0 1 0 1 0
- 4 2
0 1 0 0 1 0
1 8
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 8
b) Restar los números binarios 11101 (29) y 110 (6).
2
0 0 2
1 1 1 0 1
2 9
- 1 1 0
- 6
1 0 1 1 1
2 3
c) Restar los números binarios 110100111 (423) y 11101010 (234).
2 1 2 1
0 0 2 0 2 2
1 1 0 1 0 0 1 1 1
4 2 3
- 0 1 1 1 0 1 0 1 0
- 2 3 4
0 1 0 1 1 1 1 0 1
1 8 9
d) Restar los números binarios 11.01 (3.25) y 10.10 (2.5).
0 2
1 1. 0 1
3. 2 5
- 1 0. 1 0
- 2. 5 0
0 0. 1 1
0. 7 5
Multiplicación Binaria:
Como se ha observado con las operaciones anteriores, la multiplicación binaria se
realiza de igual forma con la salvedad que la suma final de los productos se realiza
solo con dos elementos el cero y el uno.
a) Multiplicar los números binarios 101111 (47) por 1110 (14).
1 1 1 1
1 1 1 1 1 1
1 0 1 1 1 1
4 7
* 1 1 1 0
* 1 4
0 0 0 0 0 0
.
1 0 1 1 1 1
.
1 0 1 1 1 1
.
1 0 1 1 1 1
.
1 0 1 0 0 1 0 0 1 0
6 5 8
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 9
b) Multiplicar los números binarios 111111 (47) por 101010 (14).
1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1
6 3
* 1 0 1 0 1 0
* 4 2
0 0 0 0 0 0
.
1 1 1 1 1 1
.
0 0 0 0 0 0
.
1 1 1 1 1 1
.
0 0 0 0 0 0
.
1 1 1 1 1 1
.
1 0 1 0 0 1 0 1 0 1 1 0
2 6 4 6
División Binaria:
De la misma manera que todas las anteriores operaciones, es similar a la división
decimal, teniendo en cuenta que todo el proceso se realiza en binario
a) Dividir los números binarios 100010 (34) y 110 (6).
1
2 2
1 0 0 0 1 0 1 1 0
1 1 0
Divisor
- 1 1 0
1 0 1
* 1 0 1
Cociente
0 1 0 1
1 1 0
- 0 0 0
0 0 0
1 0 1 0
+ 1 1 0
- 1 1 0
1 1 1 1 0
1 0 0
+ 1 0 0
Residuo
1 0 0 0 1 0
Dividendo
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 10
b) Dividir los números binarios 10001000100 (1092) y 101010 (42).
1 1
2 2 2 0 2
1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0
1 0 1 0 1 0
Divisor
- 1 0 1 0 1 0
1 1 0 1 0
* 1 1 0 1 0
Cociente
0 0 1 1 0 1 0 0
0 0 0 0 0 0
- 1 0 1 0 1 0
1 0 1 0 1 0
0 0 1 0 1 0 1 0
0 0 0 0 0 0
- 1 0 1 0 1 0
1 0 1 0 1 0
0 0 0 0 0 0 0
+ 1 0 1 0 1 0
1 0 0 0 1 0 0 0 1 0 0
Dividendo
Tema 3 Sistema de Numeración Octal
El inconveniente de la codificación binaria es que la representación de algunos
números resulta muy larga. Por este motivo se utilizan otros sistemas de numeración
que resulten más cómodos de escribir: el sistema octal y el sistema hexadecimal.
En el sistema de numeración octal, los números se representan mediante ocho dígitos
diferentes: 0, 1, 2, 3, 4, 5, 6 y 7. Cada dígito tiene, naturalmente, un valor distinto
dependiendo del lugar que ocupen. El valor de cada una de las posiciones viene
determinado por las potencias de base 8.
Otro de los sistemas de numeración de los llamados posicionales; las operaciones
básicas se realizan de la misma forma que en sistema de numeración decimal, la
diferencia radica en la base que cambia que para este caso es 8
Suma Octal: Para la suma octal cada vez que la suma de los símbolos supera la base
de 8, se descuenta la base colocamos lo que sobra y acarreamos o llevamos una base
a la siguiente posición.
a) Sumar los números octales 3712 (1994) y 144 (100).
1
3 7 1 2
1 9 9 4
+ 1 4 4
+ 1 0 0
4 0 5 6
2 0 9 4
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 11
b) Sumar los números octales 4523 (2387) y 1567 (887).
1 1 1
4 5 2 3
2 3 8 7 + 1 5 6 7
+ 8 8 7
6 3 1 2
3 2 7 4
Resta Octal: En el caso de la resta octal, se debe tener en cuenta nuevamente el
concepto de base, para nuestro caso base 8; al igual que en decimal si el sustraendo
es mayor que el minuendo, se pide prestado a la siguiente posición a la izquierda del
dígito y este presta una base la cual vale 8 y es lo que se debe sumar al minuendo
para realizar la sustracción respectiva. En caso que la siguiente posición tenga un
valor de cero, se realiza esta acción nuevamente y de forma sucesiva hasta encontrar
una posición con un valor mayor que cero
a) Restar los números octales 3712 (1994) y 144 (100).
8
6 0 8
3 7 1 2
1 9 9 4
- 1 4 4
- 1 0 0
3 5 4 6
1 8 9 4
b) Restar los números octales 4523 (2387) y 1567 (887).
8 8
3 4 1 8
4 5 2 3
2 3 8 7
- 1 5 6 7
- 8 8 7
2 7 3 4
1 5 0 0
Multiplicación Octal: En la multiplicación se utiliza el mismo concepto, se realizan
con las tablas de multiplicar de forma normal pero el resultado lo buscamos con la
base 8, es decir el número de veces que contiene la base en el resultado obtenido,
esos son los acarreos y ese valor se descuenta del número total
Ejemplo multiplicar 6(8) por 7(8) 42, donde la base pasa 5 veces por el valor 42, se
descuentan las bases que pasan cuyo valor es 40 y sobran 2 como llevamos 5 bases
el resultado es 52(8)
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 12
5
5
6
4 2
* 7
4 0
5 2
2
a) Multiplicar los números octales 764 (500) y 3 (3).
2 2 1
7 6 4
5 0 0
* 3
* 3
2 7 3 4
1 5 0 0
b) Multiplicar los números octales 1523 (851) y 34 (28).
1
1
2 1 1
1 5 2 3
8 5 1
* 3 4
* 2 8
6 5 1 4
. + 4 7 7 1
.
5 6 4 2 4
2 2 8 2 8
División Octal: Al igual que las demás operaciones se realiza de la misma forma que
en decimal, solo teniendo en cuenta que la base es 8.
a) Dividir los números octales 2734 (1500) y 3 (3).
2 7 3 4 3
2 2 1
- 2 5
7 6 4
7 6 4
Divisor
2 3
* 3
Cociente
- 2 2
2 7 3 4
Dividendo
1 4
- 1 4
0
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 13
b) Dividir los números octales 45763 (19443) y 33 (27).
4 5 7 6 3 3 3
1
- 3 3
1 3 2 0
1
1 2 7
1 3 2 0
Divisor
- 1 2 1
* 3 3
Cociente
0 0 6 6
4 1 6 0
- 6 6
4 1 6 0
0 0 3
4 5 7 6 0
0
3
Residuo
3
4 5 7 6 3
Dividendo
Tema 4 Sistema de Numeración Hexadecimal
El sistema hexadecimal, a veces abreviado como HEX, es el sistema de numeración
posicional de base 16 (empleando por tanto 16 símbolos). Su uso actual está muy
vinculado a la informática y ciencias de la computación, pues los computadores suelen
utilizar el byte u octeto como unidad básica de memoria.
En el sistema hexadecimal los números se representan con dieciséis símbolos: 0, 1, 2,
3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F
representando las cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente,
porque no hay dígitos mayores que 9 en el sistema decimal. El valor de cada uno de
estos símbolos depende, como es lógico, de su posición, que se calcula mediante
potencias de base 16.
Suma Hexadecimal: Para la suma HEX cada vez que la suma de los símbolos supera
la base de 16, se descuenta la base, colocamos lo que sobra y acarreamos o llevamos
una base a la siguiente posición; de la misma forma como se realiza en este tipo de
sistemas posicionales.
a) Sumar los números hexadecimales1F4 (500) y 1F4 (500).
1
1 F 4
5 0 0
+ 1 F 4
+ 5 0 0
3 E 8
1 0 0 0
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 14
b) Sumar los números hexadecimales D57 (3415) y 234 (564).
D 5 7
3 4 1 5
+ 2 3 4
+ 5 6 4
F 8 B
3 9 7 9
Resta Hexadecimal: Para la resta hexadecimal, se debe recordar nuevamente el
concepto de base, en esta ocasión base 16; al igual que en decimal si el sustraendo
es mayor que el minuendo, se pide prestado a la siguiente posición a la izquierda del
dígito y este presta una base la cual vale 16 y es lo que se debe sumar al minuendo
para realizar la sustracción respectiva. En caso que la siguiente posición tenga un
valor de cero, se realiza esta acción nuevamente y de forma sucesiva hasta encontrar
una posición con un valor mayor que cero
a) Restar los números hexadecimales 3E8 (1000) y 1F4 (500).
2 16
3 E 8
1 0 0 0
- 1 F 4
- 5 0 0
1 F 4
5 0 0
a) Restar los números hexadecimales 1234 (4660) y D57 (3415).
1 2 3 4
4 6 6 0
- D 5 7
- 3 4 1 5
F 2 3
3 9 7 9
Multiplicación Hexadecimal: En la multiplicación se recurre al concepto general; se
utilizan las tablas de multiplicar de forma normal pero el resultado se busca con la
base 16, es decir el número de veces que contiene la base en el resultado obtenido,
esos son los acarreos y ese valor se descuenta del número total
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 15
Ejemplo multiplicar 6(16) por 7(16) 42, donde la base pasa 2 veces por el valor 42, se
descuentan las bases que pasan cuyo valor es 32 y sobran 10 pero en hexadecimal 10
es representado por la letra A; entonces como llevamos 2 bases el resultado es 2A(16)
2
2
6
4 2
* 7
3 2
2 A
1 0 = A
a) Multiplicar los números Hexadecimales 28 (40) y 19 (25).
1 4
2 8
4 0
* 1 9
* 2 5
1 6 8
.
+ 2 8
.
3 E 8
1 0 0 0
a) Multiplicar los números Hexadecimales 45AB (17835) y 17 (23).
1 2 4 4
4 5 A B
1 7 8 3 5
* 1 7
* 2 3
1 E 7 A D
.
+ 4 5 A B
.
6 4 2 5 D
4 1 0 2 0 5
División Hexadecimal: Igual que sus predecesores esta operación se realiza de la
misma forma que en decimal, binario y octal solo teniendo en cuenta que la base es
16.
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 16
a) Dividir los números hexadecimales 3E8 (1000) y 19 (25).
3 E 8 1 9
1 4
- 3 2
2 8
2 8
Divisor
0 C 8
* 1 9
Cociente
- C 8
1 6 8
0
+ 2 8
3 E 8
Dividendo
a) Dividir los números hexadecimales 2234 (8756) y A (10).
2 2 3 4 A
2 4 6
- 1 E
3 6 B
3 6 B
Divisor
0 4 3
* A
Cociente
- 3 C
2 2 2 E
0 7 4
+ 6
- 6 E
2 2 3 4
Dividendo
0 6
Tema 5 Conversiones Numéricas
Una conversión es la transformación de una cantidad expresada en un determinado
sistema de numeración a su equivalente en otro sistema de numeración.
En otras palabras lo que se busca es que si tenemos un número en sistema decimal
poder obtener su equivalente en binario, octal o hexadecimal, que son los sistemas de
numeración objeto de estudio.
Para estos casos en especial vamos a utilizar ciertos métodos de conversión sencillos
y muy utilizados, aunque pueden haber otros que no utilicemos pero que son igual de
valederos y que simplemente no los vamos a estudiar.
A continuación se muestra de forma gráfica las conversiones que se pueden realizar
entre sistemas de numeración
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 17
Inicialmente nos vamos a enfocar al desarrollo de conversiones de números decimales
a números en cualquier otro sistema de numeración como lo muestra la gráfica
Los valores que se representan con los sistemas de numeración pueden ser enteros o
con fracciones decimales, por lo cual la conversión se puede realizar de números tipo
entero o tipo real aplicados a la informática.
Para realizar la conversión de números con fracciones decimales se utilizan dos
métodos a saber, uno para la parte entera y otro para la fracción decimal. Para la parte
entera utilizamos el método de divisiones sucesivas por la base, en este caso las
bases serían la 2, 8, 16. Y para el caso de las fracciones decimales el método se llama
multiplicaciones sucesivas por la base.
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 18
Divisiones sucesivas por la base
Este método es utilizado para convertir números enteros decimales a enteros de un
sistema de numeración diferente (Binario, Octal, Hexadecimal). De lo que se trata es
de dividir repetidamente el número decimal y los sucesivos cocientes en la base del
sistema de numeración, hasta que el cociente en una de las divisiones tome el valor 0
(es decir no se pueda dividir más por la base de referencia). Luego se unen los restos
obtenidos, escritos en orden inverso, para obtener el número en el sistema de
numeración de referencia (Binario, Octal, Hexadecimal).
Como ejemplo vamos a convertir el número 358.273(10) en binario, octal y hexadecimal
respectivamente.
Tomamos la primera parte del número es decir la parte a la izquierda de la coma o
punto decimal que sería la parte entera y le aplicamos el método de divisiones
sucesivas por la base
3 5 8 2
3 5 8 8
3 5 8 1 6
0 1 7 9 2
6 4 4 8
6 2 2 1 6
1 8 9 2
4
5
6
1
1 4 4 2
0 2 2 2
0 1 1 2
5 4 6
1 6 6
1 5
2
1
2
2
1 0 1 1 0 0 1 1 0
0
1
358(10) = 101100110(2)
358(10) = 546(8)
358(10) = 166(16)
Multiplicaciones sucesivas por la base
Luego de convertir la parte entera de un número por el método de divisiones
sucesivas, necesitamos convertir la parte de fracción decimal a su equivalente en los
otros sistemas de numeración.
Consiste en multiplicar dicha fracción por el valor de la base, obteniendo en la parte
entera de esta multiplicación el primero de los dígitos del sistema a convertir que
buscamos. De la misma manera repetimos el mismo procedimiento con la parte
fraccionaria obtenida en esa multiplicación y obtenemos en la parte entera de ese
número un nuevo dígito. Realizamos este proceso sucesivamente hasta que
desaparezca la parte fraccionaria o tengamos los dígitos suficientes del número en
conversión, que nos den un valor exacto o la mayor aproximación posible.
De acuerdo a lo anterior tomamos la parte fraccionaria del número decimal propuesto
0.273(10)
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 19
Inicialmente realizamos la operación para el sistema de numeración binario
0,273(10) = 0,010001(2)
Observamos para este ejemplo, que la mayor aproximación se registra en el sexto
dígito, si seguimos realizando la operación la aproximación será mayor.
Para el sistema Octal sería de la siguiente manera:
0,273 (10) = 0,2136(8)
Se utilizan 4 dígitos para ofrecer una mayor aproximación al valor en decimal.
Luego se realiza el mismo proceso para obtener la fracción en sistema hexadecimal:
0,273(10) = 0,454(16)
Como es una base más grande se utilizan menos dígitos para determinar el valor en
HEX.
Al final después de aplicar ambos métodos, se unen los resultados para obtener la
conversión de sistema decimal a binario, octal, hexadecimal de la siguiente manera:
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 20
358,273(10) = 101100110,010001(2)
358,273(10) = 546,2136(8)
358,273(10) = 166,454(16)
Las conversiones de forma inversa es decir de diferentes sistemas de numeración al
sistema decimal se realizan utilizando el teorema fundamental de la numeración
(TFN); el cual precisa que cualquier número o valor de un sistema de numeración tiene
su equivalente en sistema de numeración decimal, como se observó en un apartado
anterior. Cabe aclara que no es el único método pero a mi parecer es el más sencillo
pues la aplicación de una fórmula. La mayoría de métodos utilizan el TFN pero de
forma más abreviada, pero esto se logra con mucha práctica.
Seguidamente se comprueba que los resultados obtenidos en el apartado anterior son
verdaderos, para lo cual el TFN revierte el resultado de la siguiente forma:
101100110,010001(2) = 1*28 + 0*27 + 1*26 + 1*25 + 0*24 +0*23 + 1*22 + 1*21 + 0*20 + 0*2-1
+ 1*2-2 + 0*2-3 + 0*2-4 + 0*2-5 + 1*2-6
101100110,010001(2) = 1*256 + 0*128 + 1*64 + 1*32 + 0*16 + 0*8 + 1*4 + 1*2 + 0*1 +
0*(1/21) + 1*(1/22) + 0*(1/23) + 0*(1/24) + 0*(1/25) + 1*(1/26)
101100110,010001(2) = 256 + 0 + 64 + 32 + 0 + 0 +4 + 2 + 0 + 0*(0,5) + 1*(0,250) +
0*(0,125) + 0*(0,0625) + 0*(0,0312) + 1*(0,0156)
101100110,010001(2) = 358 + 0,250 + 0,0156 = 358 + 0.265
101100110,010001(2) = 358,265(10)
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 21
Cabe aclarar que para obtener una mayor aproximación se debe continuar realizando la operación, con los dígitos obtenidos se llega a esta aproximación.
546,2136(8) = 5*82 + 4*81 + 6*80 + 2*8-1 + 1*8-2 + 3*8-3+ 6*8-4
546,2136(8) = 5*64 + 4*8+ 6*1 + 2*(1/81) + 1*(1/82)+ 3*(1/83)+ 6*(1/84)
546,2136(8) = 320 + 32 + 6 + 2*(0,125) + 1*(0,01565) + 3*(0,00195) + 6*(0,000244)
546,2136(8) = 358 + 0,250 + 0,01595 + 0,00585 + 0,001464 = 358 + 0,273
546,2136(8) = 358, 273(10)
El resultado obtenido es exacto al valor del número decimal por cuanto se utilizan 4 dígitos decimales
166,454(16) = 1*162 + 6*161 + 6*160 + 4*16-1 + 5*16-2 + 4*16-3
166,454(16) = 1*256 + 6*16 + 6*1 + 4*(1/161) + 5*(1/162)+ 4*(1/163)
166,454(16) = 1*256 + 6*16 + 6*1 + 4*(1/161) + 5*(1/162)+ 4*(1/163)
166,454(16) = 256 + 96 + 6 +4*(0,0625) + 5*(0,0039) + 4*(0,000244)
166,454(16) = 358 + 0,250 + 0,0195 + 0,000976 = 358 + 0,270
166,454(16) = 358, 270(10)
Obsérvese que da una mayor precisión que cambiarlo del sistema binario, aunque eso
depende del número de dígitos utilizados para realizar la operación.
Para el paso de Binario a Octal o a Hexadecimal se debe comprender lo siguiente:
Para convertir un Binario a Octal o a Hexadecimal se utiliza el método de
agrupamiento de los dígitos binarios, para el caso de octales se utilizan 3 dígitos
binarios y para el caso de hexadecimales 4 dígitos binarios, en ambos casos tomados
desde el punto o coma decimal hacia la izquierda para la parte entera y del mismo
modo hacia la parte derecha para las fracciones decimales si las hubiere. Luego de
tener listos los grupos de tres y cuatro dígitos respectivamente se procede a calcular el
valor de cada agrupación binaria.
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 22
Como ejemplo, convertir el número binario 1100101001000.1011011(2)
A octal:
0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 , 1 0 1 1 0 1 1 0 0
1
4
5
1
0
, 5
5
4
1100101001000.1011011(2) = 14510.554(8)
A Hexadecimal:
0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 , 1 0 1 1 0 1 1 0
1
9
4
8
, B
6
1100101001000.1011011(2) = 1948.B6(16)
Al realizar las agrupaciones se encuentra que para conformar los tríos o los cuartetos
hacen falta dígitos ya sea a la izquierda o a la derecha, para completar estos grupos
se utilizan ceros que en este caso están con color rojo para denotar las posiciones en
las cuales hacía falta llenar los lugares
Para mayor ilustración se referencia la tabla de equivalencia entre los diferentes
sistemas de numeración
DEC BIN OCT HEX
0 000 0 0
1 001 1 1
2 010 2 2
3 011 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 23
Es un elemento complementario que ayuda de forma gráfica observar las diferentes
equivalencias entre los sistemas de numeración
Para la conversión inversa es decir de HEX y OCT a BIN, se realiza el método de
desagrupamiento, que consiste en sustituir cada uno de los dígitos ya sean octales o
hexadecimales por sus correspondientes dígitos binarios, de acuerdo a la tabla de
equivalencias presentada
Convertir el número Octal 14510.554 a binario
1
4
5
1
0
, 5
5
4
=
=
=
=
=
=
=
=
0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 , 1 0 1 1 0 1 1 0 0
Convertir el número Hexadecimal 1648.B6 a binario
1
9
4
8
, B
6
= = = = = =
0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 , 1 0 1 1 0 1 1 0
Para terminar, la conversión de Octal Hexadecimal y viceversa se aplica utilizando los
métodos anteriores como pasos intermedios para realizar la conversión.
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 24
Para pasar de OCT a HEX se realiza desagrupamiento de OCT a BIN y luego se
agrupan en grupos de 4 dígitos binarios para obtener el número HEX como lo muestra
el siguiente ejercicio:
14510.554(8)se convierte a BIN 1100101001000.1011011(2)
0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 , 1 0 1 1 0 1 1 0 0
Se agrupa en tríos el valor binario agregando los ceros faltantes para completarlos
Luego se reagrupa nuevamente pero utilizando cuartetos de dígitos binarios para
establecer el valor en Hexadecimal
0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 , 1 0 1 1 0 1 1 0
1948.B6(16)
Y si lo que se es un número OCT partiendo de un HEX se aplica el mismo principio, pero esta vez convirtiendo en BIN el número HEX, que es el paso intermedio para realizar el agrupamiento de en tríos y conseguir el OCT.
Lógica y Algoritmos
Sistemas de numeración
Alba Rossi Rocha V Página 25
Bibliografía
Alcalde, E., & García, M. (1994). Informática básica.
Webgrafía
https://thales.cica.es/rd/Recursos/rd97/Otros/SISTNUM.html
http://www.escolares.net/matematicas/sistemas-de-numeracion/
http://www.monografias.com/trabajos83/sistemas-de-numeracion/sistemas-de-
numeracion.shtml
http://platea.pntic.mec.es/~lgonzale/tic/binarios/numeracion.html
http://bienvenida.unam.mx/Libros_digitales/Mat_educativo/mate/m4unidad02.pdf
https://sites.google.com/site/matematicasdiscretasevz/1-2-conversiones-entre-
sistemas-numericos