departamento: ingeniería e investigaciones … · el sistema de numeración romano es no...
TRANSCRIPT
„;
Giulianelli, Juan Ignacio Giulianelli, Daniel A
Doctorado en Ciencias Economías Universidad Nacional de la Matanza
Departamento: Ingeniería e Investigaciones Tecnológicas Cátedra:
Fundamentos de TIC’s (Tecnologías de la Información y la Comunicación)
e-mail: [email protected]
JEFE DE CÁTEDRA:
Dr. Daniel A. Giulianelli
UNIDAD NRO. 2 INTRODUCCIÓN A LOS SISTEMAS DE
REPRESENTACIÓN DE LA INFORMACIÓN
COLABORACIÓN:
DOCENTES DE LA CÁTEDRA
COORDINACIÓN:
Mg. Artemisa Trigueros
CICLO LECTIVO:
2014
Universidad Nacional de la Matanza
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 2 de 91
Unidad 2: Introducción a los sistemas de representación de la
información
Índice PARTE A. SISTEMAS DE NUMERACIÓN............................................................... 4
2.A.1. Introducción ....................................................................................................... 4
2.A.2. Sistemas de Numeración Posicionales y No Posicionales ................................. 5
2.A.2.1 Características de un sistema posicional...................................................... 5
2.A.2.2. Valor Absoluto y Relativo .......................................................................... 8
2.A.2.3. Pasaje de una base a base 10....................................................................... 9
2.A.2.4. Base 10 a otra base ................................................................................... 11
Parte entera ......................................................................................................... 11
Parte fraccionaria ................................................................................................ 12
CASO 1: “Truncar las cifras fraccionarias” ................................................... 12
CASO 2: “Parte Fraccionaria llega a cero” .................................................... 14
CASO 3: “Parte Fraccionaria Periódica”........................................................ 14
Base 10 como intermediaria ................................................................................... 15
2.A.3. Pasaje Directo .................................................................................................. 15
2.A.3.1. Caso 1: Base Origen mayor que la Base Destino ..................................... 15
2.A.3.2. Caso 2: Base Origen menor que la Base Destino ..................................... 16
2.A.3.3. Importancia de aplicar pasaje directo ....................................................... 17
2.A.4. Operaciones Aritméticas .................................................................................. 18
2.A.4.1. Suma ......................................................................................................... 18
2.A.4.2. Resta ......................................................................................................... 21
2.A.4.3. Multiplicación ........................................................................................... 23
2.A.4.5. División..................................................................................................... 24
2.A.5. Utilidad del Sistema Binario ............................................................................ 26
PARTE B. INTRODUCCIÓN A LOS SISTEMAS NUMÉRICOS PARA
APLICACIONES INFORMÁTICAS ......................................................................... 28
2.B.1. Introducción ..................................................................................................... 28
2.B.2. Formas de representar a los números enteros .................................................. 28
2.B.2.1. Representación en binario puro. Enteros sin signo ................................... 29
2.B.2.2. Representación en signo y módulo. SM ................................................... 30
2.B.3. Complemento de un número. ........................................................................... 32
2.B.3.1. COMPLEMENTO A LA BASE ....................................................................... 32
2.B.3.2. COMPLEMENTO A LA BASE MENOS UNO .................................................. 34
2.B.3.3 UTILIZACIÓN DEL COMPLEMENTO EN OPERACIONES DE RESTA ............... 35
2.B.3.4. Representación en complemento a la base–1 (CB-1) ................................. 37
2.B.3.5. Representación en Complemento a la Base o ........................................... 39
Complemento a 2 .................................................................................................... 39
2.B.5. Operaciones aritméticas con números signados .............................................. 41
2.B.5.1. Suma en complemento a dos..................................................................... 42 2.B.5.2. Resta en complemento a dos ..................................................................... 44
2.B.6. Overflow (desborde) ........................................................................................ 45
2.B.7. Representación binaria de números reales ....................................................... 46
2.B.7.1. Representación exponencial. Punto Flotante ............................................ 46
2.B.7.2. Normalización de la mantisa ..................................................................... 47
2.B.7.3. Bit implícito .............................................................................................. 48
2.B.7.4. Representación del exponente................................................................... 49
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 3 de 91
2.B.7.5. Representación en punto flotante dentro de la computadora .................... 50
2.B.7.7. Formato de representación punto flotante IEEE 754 ................................ 52
2.B.7.8. Rango de la representación IEEE 754. Simple precisión. ........................ 53
PARTE C. CÓDIGOS .................................................................................................. 55
2.C.1. Introducción ..................................................................................................... 55
2.C.2. Definición de Código ....................................................................................... 56
2.C.3. Módulo de un Código ...................................................................................... 60
2.C.4. Códigos de Largo Fijo y Variable .................................................................... 61
2.C.5. Códigos BCD ................................................................................................... 61
2.C.5.1. Códigos pesados........................................................................................ 62
2.C.5.2. ¿Cómo determinar si un Código es Pesado? ............................................. 65
2.C.6. Distancia de un código .................................................................................... 67
2.C.6.1. Códigos Progresivos ................................................................................. 68
2.C.7. Operaciones con códigos ................................................................................. 75
2.C.7.1. Suma en BCD 8421 ................................................................................. 75
2.C.8. Seguridad en la transmisión binaria ................................................................. 80
2.C.9. Códigos detectores y correctores de errores: códigos de Hamming ................ 84
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 4 de 91
PARTE A. SISTEMAS DE NUMERACIÓN - Autora: Dra. Ing. Rocío A. Rodríguez -
2.A.1. Introducción
Según la Real Academia Española1 un sistema de numeración puede ser definido como:
“Sistema para expresar de palabra o por escrito todos los números con una
cantidad limitada de vocablos y de caracteres o guarismos”.
“Conjunto de símbolos y reglas utilizados para representar las cantidades”2.
En base a la segunda definición se puede plantear a un sistema de numeración como se
indica en la expresión 2.A.1.
N= (S,R)
N: Sistema de Numeración
S: Conjunto de Símbolos validos dentro de dicho sistema
R: Conjunto de Reglas que permitirán formar números válidos
Expresión 2.A.1. Elementos de un Sistema de Numeración
La expresión 2.A.1. es válida para todo sistema de numeración. Cada sistema de
numeración tendrá un conjunto de símbolos válidos y reglas de formación propias.
Existieron diversos sistemas de numeración mediante los cuales los egipcios, griegos,
babilónicos, chinos, etc. podían representar las cantidades (ver la figura 2.A.1).
Figura 2.A.1. Representación de números egipcios, griegos, babilónicos y chinos3
Cada sistema de numeración utiliza sus propios símbolos. El sistema decimal es el
sistema de numeración adoptado en Argentina sin embargo el sistema Romano está aún
presente para la enumeración de diversos objetos, por ejemplo podría haber sido
utilizado para numerar los capítulos de este libro. El sistema decimal también conocido
1 Definición consultada en: http://www.rae.es
2 Esta última definición es la adoptada por la mayor parte de la bibliografía
3 Esta imagen fue construida en base a un conjunto de ejemplos tomados de la página 12 del libro
[BER74]: Bertha Morris Parker. “La fuente del Saber” Cuarta Edición. Editorial Sygmar S.A., (1974).
Buenos Aires, Argentina
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 5 de 91
como sistema Arábigo (“…aunque originario en la India fue introducido en Europa por
los árabes” [BER74]) cuenta con los siguientes símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
El sistema romano utiliza otros símbolos: I, V, X, L, C, D, M (donde cada símbolo vale
1, 5, 10, 50, 100, 500 y 1000 respectivamente). Puede notarse que en el Sistema
Romano no cuenta con una forma de representar el cero, sin embargo en otros sistemas
de numeración como el Maya ya se incorporaba el cero como símbolo.
No sólo son importantes los símbolos sino también las reglas que permiten a través de
esos símbolos construir los números. En el sistema de numeración romana: XI
representa al número 11 mientras que IX representa al número 9. Cada símbolo tiene un
valor de referencia tanto I como X son símbolos válidos del sistema de numeración. Por
otra parte ambos números están compuestos por los mismos símbolos sin embargo el
resultado final es distinto porque se aplica reglas de formación. En el sistema de
numeración romano el símbolo I colocado a la derecha de la X está sumando su valor y
en cambio colocado a la izquierda lo está restando.
2.A.2. Sistemas de Numeración Posicionales y No Posicionales
El sistema de numeración romano es no posicional dado que el valor de cada símbolo
no depende de la posición en la que se encuentra. El número consignado en la tabla 2.1
vale 8 porque al símbolo V que equivale al 5, se le suma tres veces el valor del símbolo
I que equivale al uno 1. No vale más una I que otra dentro de este número.
Tabla 2.A.1. Número Romano
Número Romano V I I I
Valor del Símbolo 5 1 1 1
En decimal el número 5111 vale cinco mil ciento once, puede observarse que también
tiene tres símbolos iguales y que cada 1 no vale lo mismo, sino que su valor se ve
condicionado por la posición que ocupa el símbolo dentro del número. A continuación
se indica cuánto vale cada componente del número tomando en cuenta no sólo el
símbolo sino también su posición (ver tabla 2.A.2).
Tabla 2.A.2. Número Decimal
Número Decimal 5 1 1 1
Valor de cada Símbolo 5000 100 10 1
Todos los sistemas de numeración que se utilizarán a lo largo del presente libro son
posicionales y comparten las reglas de formación del sistema decimal.
2.A.2.1 Características de un sistema posicional
Un concepto importante es el de base de un sistema de numeración. La base de un
sistema de numeración representa a la cantidad de símbolos admitidos por dicho
sistema. El sistema decimal ó de base 10, posee 10 símbolos distintos: 0, 1, 2, 3, 4, 5, 6,
7,8,9; es importante notar que el 10 no es un símbolo del sistema sino que se ha
generado por medio de combinar dos símbolos ya existentes.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 6 de 91
Además todos los sistemas de numeración posicionales a los que se hace referencia
tienen como símbolo inicial: 0. De forma que el sistema en base 2 sólo tendrá dos
símbolos: 0, 1. Si se desea armar un sistema en base 3 bastará con agregar un símbolo al
sistema anterior: 0, 1, 2. De esta manera es posible armar diversos sistemas cuya base
sea menor que 10, utilizando parte de los símbolos de base 10. ¿Qué sucede si se
quieren confeccionar sistemas de base mayor a 10?, en ese caso será necesario utilizar
nuevos símbolos, el sistema Hexadecimal de base 16 utiliza letras para completar los
símbolos faltantes, de este modo podrá utilizarse todos los símbolos del sistema
Decimal (del 0 al 9) aquí hay 10 símbolos distintos y los 6 restantes utilizando las letras
del alfabeto (de la A a la F). La tabla 2.A.3 muestra los símbolos que conforman
distintos sistemas de numeración.
Tabla 2.A.3. Símbolos que conforman los sistemas de numeración
Sistemas SIMBOLOS
Base 2 (Binario) 0 1
Base 3 0 1 2
Base 4 0 1 2 3
Base 8 (Octal) 0 1 2 3 4 5 6 7
Base 9 0 1 2 3 4 5 6 7 8
Base 10 (Decimal) 0 1 2 3 4 5 6 7 8 9
Base 16 (Hexadecimal) 0 1 2 3 4 5 6 7 8 9 A B C D E F
A partir de ahora ante un número 435 debería ser importante preguntarse cual es su
base, sin conocer su base no será posible interpretar de que número se trata. Al ver este
número sin su base es posible saber que el mismo no puede estar escrito por ejemplo en
binario porque dicho sistema de numeración sólo tiene por símbolos válidos el 0 y 1; si
el número tiene símbolos que no pertenecen a un sistema de numeración determinado
dicho número no puede estar escrito en ese sistema de numeración. Por ende se puede
afirmar que el 435 tiene que estar escrito en un sistema de numeración de base 6 ó
cualquiera de base mayor a 6. Motivo por el cual los números estarán acompañados de
su base la cual se indica como un subíndice detrás del mismo (se recomienda resolver el
ejercicio 2.A.1).
Generar números en un determinado sistema de numeración posicional, es muy simple.
En base 10, el primer número posible de escribir es el 0 con un solo dígito el último
número posible de escribir será 9, una vez que se acabaron los símbolos estos pueden
ser combinados con otros generándose el 10, 11 hasta el 99 en el cual se ha utilizado en
ambas posiciones el mayor número del sistema de numeración esto implica que debe
agregarse otro dígito de aquí en más los números van a estar constituidos con tres
dígitos 100, 111 hasta el 999 en el cual en las tres posiciones existentes quedó el mayor
símbolo de la base. Lo mismo puede hacerse en base 3, los primeros números a escribir
serán el 0, 1 y 2; se acabaron los símbolos con lo cual deberá comenzarse a escribir
Ejercicio 2.A.1 - Sugerido
Indique cuales de los siguientes números son inválidos (analizando los símbolos
utilizados):
a) 7A210 b) 5239 c) 2313 d) A9516 e) 8727 f) 4625
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 7 de 91
números utilizando dos dígitos desde el 10 al 22; luego se empezará a escribir de a tres
dígitos… De ésta forma se genera la tabla 2.A.4.
Tabla 2.A.4. Construcción de números en sistemas de numeración posicionales Decimal
Base 10
Binario
Base 2 Octal
Base 8 Hexadecimal
Base 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 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
16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13
20 10100 24 14
21 10101 25 15
El armar una tabla, en la cual cada columna muestra los números escritos en distintos
sistemas de numeración, permite establecer equivalencias leyendo cualquier fila de la
tabla 2.A.4, por ejemplo la última: 2110 = 101012 = 258=1516
Al observar la tabla 2.A.4 es importante notar que:
Diez escrito en base Diez es 10
Dos escrito en base Dos es 10
Ocho escrito en base Ocho es 10
Dieciséis escrito en base Dieciséis es 10
Siempre la base de un sistema de numeración posicional expresada en dicho sistema
será 10 (“uno cero”). No se deberá leer como Diez ya que ese 10 valdrá distinto según la
base en la que se haya escrito.
Ejercicio 2.A.2 - Sugerido
Continúe la construcción de la tabla 2.4, realice tres filas más para mostrar que
números representan a los números decimales 22, 23, 24
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 8 de 91
Si bien es simple construir la tabla 2.A.4 es importante comenzar a suponer que debe
existir otro mecanismo para poder conocer la equivalencia de un número 914210
expresado en base 8. Para construir una tabla comenzando por el 0 decimal deberán
realizarse luego 9142 renglones para determinar su equivalente en base 8. Esta tabla
sirve tan sólo a modo de ejemplo siempre que los números a representar no sean
grandes. Por otra parte si sólo se aplicara el mecanismo de construir una tabla para
poder realizar una conversión entre bases no sería posible conocer cuántos renglones
serían necesarios construir si el número de origen está en otra base que no sea decimal,
por ejemplo: 21034.
2.A.2.2. Valor Absoluto y Relativo
En los sistemas de numeración posicionales cada símbolo tiene un valor absoluto que es
el valor que tiene asignado el símbolo por ejemplo en decimal el símbolo 9 (vale nueve)
pero también existe un valor relativo que hace que dentro de este número 59 ese
símbolo valga distinto que dentro de este otro 93. En el primer caso vale nueve y en el
segundo caso vale noventa. El valor relativo es el valor que adquiere el símbolo por
estar en una determinada posición dentro del número. Para profundizar esto se propone
rememorar algunas cuestiones del sistema decimal, la tabla 2.A.5 se construyó para
ilustrar cuánto vale un símbolo escrito según en qué posición se encuentre.
Tabla 2.A.5. Sistema de Numeración Decimal - Posiciones4
Unidades de Mil Centena Decena Unidad Decima Centésima Milésima
1000 100 10 1 1/10 1/100 1/100
103 10
2 10
1 10
0 10
-1 10
-2 10
-3
Es posible afirmar que si bien 519 y 915 a pesar de estar formados por los mismos
signos y ambos escritos en base 10, no valen lo mismo. A partir de la tabla 1.3 se
procede a descomponer uno de los números tal como se muestra en la expresión 2.A.2.
51910 = 5 centenas + 1 decena + 9 unidades = 5 x 100 + 1 x 10 + 9 x 1 = 5x102 + 1x10
1 + 9x10
0
Expresión 2.A.2. Descomposición de un número decimal
A partir de lo realizado en la expresión 2.A.2. puede observarse que se partió de un
número de tres cifras y el resultado se puedo expresar por medio de tres términos cada
uno representa una componente del número en la cual está cada símbolo del número
acompañado de la base del sistema de numeración elevada a un exponente que expresa
la posición del símbolo dentro del número. Por lo cual se puede afirmar que: Cada
término ha quedado compuesto por el valor absoluto del símbolo y un valor relativo
(base elevada a un exponente).
En forma general independientemente de los símbolos que conforman al número ó de la
base del sistema de numeración:
Expresión 2.A.3. Teorema fundamental de la numeración
4 Esta tabla muestra de forma práctica como expresar en potencias de 10 las distintas posiciones, ha sido
tomada de http://es.wikipedia.org/wiki/Bit
M
∑ a i x Bi
i = -n
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 9 de 91
Siempre se procede a hacer una sumatoria en donde:
a representa a un símbolo dentro del número
B la base del sistema de numeración
i la posición del símbolo dentro del número Es importante notar que cada término de la sumatoria está construido por el producto de
dos componentes ai representa el símbolo (valor absoluto) y Bi es la base del sistema de
numeración elevada a la posición que tiene el símbolo dentro del número (valor
relativo). El teorema fundamental de la numeración permitirá descomponer un número
tal como se muestra en la figura 2.A.2
Figura 2.A.2. –Descomposición de un número
2.A.2.3. Pasaje de una base a base 10
El teorema fundamental de la numeración puede ser aplicado para realizar la conversión
de una base a base 10. En la figura 2.A.3 se plantea el caso de un número en base 4 el
cual quiere expresarse en base 10. Para realizar esta conversión se aplica el teorema
fundamental de la numeración. Nótese que no se está descomponiendo al número ya que
se están expresando los valores en base 10, por ejemplo 4 (valor de la base) está
expresado en decimal ya que el símbolo 4 no pertenece a base 4. La suma de todas las
componentes del número escritas en decimal dará origen a un resultado en decimal.
Figura 2.A.3. – Pasaje de base 4 a base 10
Se quiere aplicar el teorema fundamental de la numeración para el número 519,610
5 1 9 , 6
a2 a1 a0 a -1
2
∑ a i x Bi = a
2 x B
2 +a
1 x B
1 +
a
0 x B
0 + a
-1 x B
-1 = 5 x 10
2 +1 x 10
1+ 9 x 10
0+ 6 x 10
-1
i = -1
Se quiere aplicar el teorema fundamental de la numeración para el número 2103,14
a3 a2 a1 a0 a -1
2 1 0 3 , 1
M 3
∑ a i x Bi = ∑ a i x 4
i (para el caso particular de este ejemplo)
i = -n i = -1
3
∑ a i x 4i = 2 x 4
3 + 1x 4
2 + 0 x 4
1 + 3 x 4
0 + 1x 4
-1 = 128 + 16 + 0+ 3+ 0,25 = 147,2510
i = -1
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 10 de 91
Ejercicio 2.A.3 - Resuelto
Se quiere aplicar el teorema fundamental de la numeración para el número
A5C,B116
Resolución:
a2 a1 a0 a -1 a -2
A 5 C , B 1
2
∑ a i x 16i = A x 16
2 + 5 x 16
1 + C x 16
0 + B x 16
-1 + 1 x 16
-2=
i = -2 10 x 162 + 5 x 16 + 12 x 1 + 11 x 1/16 + 1/16
2=
2560 + 80 + 12 + 0, 6875 + 0,00390625=
Resultado = 2652,6914062510
De este modo se puede realizar el pasaje desde un sistema posicional a decimal sin
inconveniente alguno. A continuación en la tabla 2.A.6 se presenta la conversión del
número 10 escrito en diversas bases a decimal.
Tabla 2.A.6. Conversión del número 10 expresado en distintas bases a decimal Valor de Origen Cálculo Resultado
102 1 x 21 + 0 x 2
0 2
103 1 x 31 + 0 x 3
0 3
104 1 x 41 + 0 x 4
0 4
… … …
108 1 x 81 + 0 x 8
0 8
109 1 x 91 + 0 x 9
0 9
…. … …
1016 1 x 161 + 0 x 16
0 16
A partir de la tabla 2.A.6 es posible decir que 10 escrito en una determinada base dará
por resultado el valor de su base expresado en decimal. Del mismo modo podrá decirse
que la base escrita en su base será 10. En forma general: 10B=0 x B0 + 1 x B
1 = B.
Siempre la base de un sistema de numeración posicional expresado en dicho sistema
será 10 (“uno cero”). Esto puede ser observado también en la tabla 2.4. En dicha tabla
se ha sombreado la base escrita en su base a lo largo de todas las columnas.
Para expresar un número hexadecimal (base 16) a decimal (base 10), se procede del
mismo modo. Como puede observarse en el ejercicio 2.3 la base escrita en decimal será
16, cada uno de los símbolos numéricos del 0 al 9 en hexadecimal coinciden con
decimal y a las letras A, B, C, D, E, F se escribirá su equivalencia en decimal (mostrada
en la tabla 2.4). Se propone observar lo realizado en el ejercicio 2.A.3
A continuación se en el ejercicio 2.A.4 se proponen algunos pasajes los cuales requieren
simples cálculos para ser efectuados.
Ejercicio 2.A.4 - Sugerido
Indicar el resultado en base 10 de los siguientes números:
a) 1829 b) 315 c) 1002 d) 1011012
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 11 de 91
2.A.2.4. Base 10 a otra base
El método que se empleará para realizar el pasaje de decimal (base 10) a otra base
consiste en5:
1. Tomar la parte entera y dividir sucesivamente por el valor de la base destino
2. Tomar la parte fraccionaria y multiplicar sucesivamente por la base destino
Parte entera
Primeramente se presenta a modo de ejemplo como pasar de decimal a binario, para ello
se toma el número 53510 y se muestra el procedimiento aplicado en la figura 2.4. Se
procede a realizar divisiones que den por resultado un cociente entero se toma el
número origen 535 se lo divide por la base destino 2 y se obtiene por cociente 266 y el
resto arrojado es 0. Al cociente obtenido se lo vuelve a dividir por la base destino y así
sucesivamente. Cabe destacar que a medida que se van a aplicando divisiones el
cociente que será obtenido en cada una de ellas será menor que el obtenido
anteriormente (esto sucederá con todas las bases destinos). En el momento en que el
cociente obtenido es inferior a la base destino originará un próximo cociente en cero de
modo que se habrá finalizado el procedimiento. Se puede notar en la figura 2.4 que al
dividir 2/2 esto da cociente 1 y resto 0. El cociente 1 se somete nuevamente a división
1/2 pero como se busca un cociente entero dará 0 y de resto 1 (destacado en la figura
2.5), a partir de allí todas las divisiones próximas serán 0/2 dando cociente 0 y resto 0,
allí no tiene sentido alguno continuar, dándose por finalizado el procedimiento (parte
sombreada de la figura 2.A.4).
535 2
13 267 2
15 06 133 2
1/ 07 13 66 2
1/ 1/ 06 33 2
0/ 13 16 2
1/ 0/ 8 2
0/ 4 2
0/ 2 2
0/ 1 2
1/ 0 2
0/ 0
Figura 2.A.4. – Pasaje de base 10 a base 2
5 El fundamento de aplicar el método que se describe de forma práctica tiene basamento en el teorema
fundamental de la numeración presentado previamente. La demostración formal de la aplicación de dicho
teorema que da por origen la aplicación de este método práctico se encuentra en diversos libros entre ellos
[MAN98]
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 12 de 91
El resultado de pasar 53510 a base 2 se consigna tomando todos los restos obtenidos en
forma inversa (comenzando por el 1 destacado en la figura 2.4 último resto significativo
obtenido): 1000010111 cabe destacar que si se hubiesen considerado los ceros arrojados
como otros restos para conformar el resultado este hubiese sido 001000010111 (los
ceros delante de la cifra entera no aportan valor siendo el mismo número que el
obtenido sin haberlos considerado).
Parte fraccionaria
Todo número podrá analizarse descomponiéndose en su parte entera y en su parte
fraccionaria, por ejemplo: 535,28 será: 535 + 0,28. Este número en base 10 para ser
expresado en otra base será necesario realizar primeramente la conversión de la parte
entera del mismo (en la figura 5.2 se muestra la conversión a base 2) y luego se añadirá
a dicho resultado la conversión resultante con la parte fraccionaría (lo cual se explicará
a continuación).
CASO 1: “Truncar las cifras fraccionarias”
535,2810: Se calculará 0,28 en base 2, para lo cual se multiplica sucesivamente por 2
(como se muestra en la figura 2.5). Cada cuenta efectuada estará compuesta por una
parte entera y una parte fraccionaria, la parte entera será la que conformará cada uno de
los dígitos del resultado a obtener. Puede observarse que 0,28 x 2= 0,56 la parte entera
es 0 y sirve para conformar el resultado, se continua con la parte fraccionaria el proceso
(restándose previamente la parte entera) siempre cada multiplicación tendrá por primer
factor 0,ParteFraccionaria del resultado anterior. Es importante notar que la segunda
cuenta ha dado por resultado 1,12 para la multiplicación siguiente se tomará 0, 12
0,28 0,56 0,12 0,24 0,48 0,96 …
x 2 x 2 x2 x2 x 2 x2 …
0,56 1,12 0,24 0,48 0,96 1,92 …
Figura 2.A.5. – Pasaje de base 10 a base 2
Cada multiplicación arroja un resultado del cual se tomará en cuenta la parte entera del
mismo (digito subrayado en la figura 2.A.5). Se han efectuado 6 multiplicaciones podría
haberse continuado, el interés de continuar dependerá de cuantos dígitos fraccionarios
requiera el resultado.
Por lo tanto:
0,2810 será 0,0100012
535,2810 será 1000010111,0100012 (se le añade la parte entera calculada anteriormente)
Ejercicio 2.A.5 - Sugerido
Verifique que sea correcto lo realizado en el procedimiento anterior.
Se propone tomar el resultado obtenido en binario 1000010111, pasarlo a decimal y
corroborar que de por resultado el número de partida 53510
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 13 de 91
A partir de este ejemplo se propone analizar el ejercicio 2.A.6 el cual está resuelto a
continuación.
Ejercicio 2.A.6 - Resuelto
Verifique el resultado obtenido en la parte fraccionaria (0,28)
Cuáles son las conclusiones que puede alcanzar a partir de dicho resultado
Resolución:
0,2810 = 0,0100012
0, 0 1 0 0 0 1
1/2 1/4 1/8 1/16 1/32 1/64
1/4 + 1/64 =0,25 + 0,015625 = 0,265625
El resultado obtenido no fue 0,28 esto es causado por el truncamiento efectuado, el no
haber considerado todas las cifras en la figura 2.5 (multiplicaciones siguientes no
efectuadas), a continuación se muestra sombreadas las cifras fraccionarias calculadas
previamente, calculándose tres cifras más. Esto permitirá comprobar que el considerar
el peso de dichas cifras harán que el número final será mayor más próximo al valor
esperado.
0,28 0,56 0,12 0,24 0,48 0,96 0,92 0,84 0,68
x 2 x2 x2 x2 x2 x2 x 2 x 2 x 2
0,56 1,12 0,24 0,48 0,96 1,92 1,84 1,68 1,36
0, 0 1 0 0 0 1 1 1 1
1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256 1/512
Al valor obtenido previamente 0,265625 calculado previamente con las cifras
sombradas se le deberá añadir el proveniente de las tres cifras contempladas
adicionalmente.
= 0,265625 + 0,0078125 + 0,00390625 + 0,001953125 =
= 0,265625 + 0,013671875= 0,279296875
Si se mostraran en el cálculo final tres cifras fraccionarias considerando únicamente
las multiplicaciones sombreadas sería: 0,265 en cambio realizando 3 multiplicaciones
más sería: 0,279 notablemente más próximo a 0,28
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 14 de 91
CASO 2: “Parte Fraccionaria llega a cero”
535,2510: Se calculará 0,25 en base 2, para lo cual tal como se muestra en la figura 2.A.6
se multiplica sucesivamente por 2.
0,25 0,50 0,00 0,00 …
x 2 x 2 x2 x2 …
0,50 1,00 0,00 0,00 …
Figura 2.A.6. Pasaje de base 10 a base 2
En la figura 2.A.6 se muestra una serie de multiplicaciones en la segunda cuenta se
obtuvo por resultado 1,00 por lo cual la cuenta siguiente será 0,00 x 2 obviamente el
resultado será 0 a partir de ese momento debe advertirse que no tiene sentido continuar
con el cálculo (parte resaltada en la figura 2.7).
Por lo tanto:
0,310 será 0,010002 (Los ceros detrás de la parte fraccionaria no son significativos)
535,310 será 1000010111,012 (se le añade la parte entera calculada anteriormente)
CASO 3: “Parte Fraccionaria Periódica”
525,310: Se calculará 0,3 en base 2, para lo cual tal como se muestra en la figura 2.A.7 el
procedimiento realizado.
0,3 0,6 0,2 0,4 0,8 0, 6 …
x 2 x 2 x2 x2 x 2 x2 …
0,6 1,2 0,4 0,8 1,6 1,2 …
Figura 2.A.7. – Pasaje de base 10 a base 2
En la figura 2.A.7 puede observarse que la segunda cuenta efectuada se repite a lo largo
del procedimiento. Esto causará que se repitan también las siguientes cuentas a efectuar,
por lo cual no es necesario continuar el procedimiento. Debe advertirse que el resultado
es periódico: 01001
Por lo tanto:
0,310 será 0,010012
535,310 = 1000010111,01001 2
Ejercicio 2.A.7 – Sugerido
Expresar el número 163,687510 en Base 16
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 15 de 91
Base 10 como intermediaria
Aplicando lo visto anteriormente será posible expresar un número que esté proveniente
en una base origen a una base destino (cualquiera sean estas bases). Por ejemplo: Se
cuenta con un número en base 5 y quiere pasarse a base 8, para ello se aplicarán los dos
métodos vistos:
1) Base origen: 5 -> Base destino: 10
2) Base origen: 10 -> Base destino: 8
Es decir cuando ni la base origen ni la destino es decimal deberá utilizarse la base 10
como intermediaria realizándose dos pasajes (se recomienda realizar el ejercicio 2.A.8).
2.A.3. Pasaje Directo
El pasaje directo permite en forma rápida poder expresar un número que se encuentra en
una determinada base a otra. Es aplicable cuando la base origen y destino se relacionan
por medio de una potencia entera y positiva. En la tabla 2.A.7 se muestran algunas
bases entre las que es posible aplicar pasaje directo.
Tabla 2.A.7. Bases entre las que es posible aplicar pasaje directo
Base Origen Base Destino Relación
2 4 22 = 4
3 9 32 = 9
4 16 42=16
Es importante notar que si bien entre la base 8 y 16 no hay pasaje directo (ya que no
existe potencia entera positiva la cual permita elevar al número 8 y obtener por
resultado 16) sería posible realizar pasaje directo de base 8 a base 2 y luego otra vez
pasaje directo de base 2 a 16.
Se recomienda realizar el ejercicio 2.A.9 en base a la definición de pasaje directo.
2.A.3.1. Caso 1: Base Origen mayor que la Base Destino
Si se desea expresar al número 56,8239 en base 3, primeramente se analizará si es
posible realizar pasaje directo, para lo cual se toma la base menor 3, luego surge la
pregunta ¿A qué valor debe elevarse dicha base para alcanzar a la otra base? 32 = 9 esto
deberá leerse: por cada 2 símbolos en base 3 deberá escribirse 1 en base 9. En la tabla
Ejercicio 2.A.8 – Sugerido
Expresar el número 342,15 en base 8
Ejercicio 2.A.9 – Sugerido
Indique en qué casos puede aplicarse pasaje directo
a) Base 8 a base 5 b) Base 2 a Base 16 c) Base 2 a Base 8
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 16 de 91
2.A.8 se han anotado todos los símbolos que componen a la base 9 y luego sus
equivalentes en base 3, es posible notar que con dos símbolos en base 3 se han podido
expresar todos los símbolos válidos de base 9. Es importante destacar que todos los
números en la segunda columna deben indicarse con dos dígitos por ello se ha
antepuesto un cero en las tres primeras filas.
Tabla 2.A.8. Tabla de símbolos en Base 9 y su equivalencia en Base 3
Base 9 Base 3
0 00
1 01
2 02
3 10
4 11
5 12
6 20
7 21
8 22
El proceso consistirá en sustituir cada uno de los símbolos en base 9 provenientes del
número original por dos en base 3 (localizándolos en la tabla 2.8), tal como se muestra
en la figura 2.A.8.
5 6 , 8 2 3
12 20 , 22 02 10
Figura 2.A.8. Pasaje Directo entre base 9 a base 3
2.A.3.2. Caso 2: Base Origen menor que la Base Destino
Si se desea expresar el número 210,13 a base 9 también será posible aplicar pasaje
directo siendo la relación entre las bases: 32 = 9. Cabe aclarar que en este caso se cuenta
con cada uno de los símbolos del número en base 3 y por cada 2 de ellos deberán
escribirse un símbolo en base 9.
En este caso se quiere agrupar de a dos un número con tres cifras en la parte entera, de
forma que será necesario agregar un cero (que no altere el valor del número) para que
puedan conformarse dos grupos en los cuales haya dos símbolos en cada uno de ellos.
Lo mismo sucede con la parte fraccionaria como hay un sólo dígito será necesario
agregar un cero para poder conformar un grupo de dos dígitos. En la figura 2.A.9 se
muestran dos ceros agregados, si se observa el número resultante este será 2100,01 el
cual difiere del número original 210,1 ha cambiado el valor con lo cual de aplicar el
pasaje se estaría expresando otro número en base 9 y no el deseado.
2 1 0 0 , 0 1 2100,01
Figura 2.A.9. Agrupamiento inválido
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 17 de 91
Para no alterar el valor al agregar ceros en un número será necesario que en la parte
entera se inserten delante (a la izquierda) y en la parte fraccionaria los ceros se agreguen
detrás (a la derecha), esto se observa fácilmente en decimal 5,2 es lo mismo que escribir
05,20 estos ceros agregados no aportan valor en el numero escrito.
A continuación en la figura 2.A.10 se muestra el agrupamiento correctamente realizado,
el número que ha quedado luego de agregar ceros es equivalente al de partida. Si se
quiere podría comenzarse a agrupar tomando en cuenta el sentido indicado por medio de
flechas en la figura 2.10 y luego agregar los ceros necesarios para conformar el último
grupo. Luego de agrupar correctamente tan sólo queda escribir cada grupo a que dígito
se corresponde en base 9, lo cual puede realizarse observando la tabla 2.8.
0 2 1 0 , 1 0 0210,10
2 3 , 3
Figura 2.A.10. Pasaje Directo entre base 3 a base 9
Se propone realizar el ejercicio 2.A.10 para afianzar el método de pasaje directo.
2.A.3.3. Importancia de aplicar pasaje directo
Es importante aplicar pasaje directo, siempre que sea posible, debido a que el tiempo
que insume aplicar pasaje directo es inferior al invertido utilizando la base 10 como
intermediaria. Cuando se utiliza a la base 10 como intermediaria es posible que sea
necesario realizar una gran cantidad de cálculos matemáticos y en caso de no considerar
todas las cifras fraccionarias en los cálculos intermedios el resultado final será
aproximado. En cambio esto último no ocurre al aplicar pasaje directo.
Por un momento es importante pensar los distintos pasos a realizar sin aplicar pasaje
directo para expresar el número en hexadecimal A7CB8,3CD116 a base 4 y los cálculos
matemáticos que serían necesarios realizar. Para comparar con lo planificado utilizando
como intermediaria a la base 10, se propone resolver aplicando pasaje directo dicho
ejercicio planteado a continuación.
Ejercicio 2.A.10 - Sugerido
Se proponen aplicar pasaje directo para:
1) 10110111,1012 A BASE 16
2) Corroborar el resultado obtenido en el ítem anterior
3) 1234 A BASE 16
Ejercicio 2.A.11 - Sugerido
Expresar el número A7CB8,3CD116 en base 4
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 18 de 91
2.A.4. Operaciones Aritméticas
Todos los sistemas de numeración posicionales permiten realizar operaciones
aritméticas. Las reglas aprendidas desde el colegio primario serán aplicadas en todos los
sistemas de numeración posicionales. Es importante advertir que no es posible sumar
cantidades que no expresen una misma cosa (por ejemplo: 7 caballos + 5 libros), es
decir que no será posible tomar un número en base 6 e intentar sumarle un número en
base 8 (para esto será necesario previamente expresarlos en una misma base). Del
mismo modo si se suman dos números en base 6 el resultado deberá estar en base 6 (por
ejemplo: si se suman 7 naranjas + 3 naranjas, el resultado no podrá ser 10 peras).
2.A.4.1. Suma
Para realizar una suma primeramente se deberán encolumnar los números a sumar, tal
como se muestra en la figura 2.11.
1 6 4 8
+ 4 1 5 8
6 0 1 8
Figura 2.A.11. Suma en base 8
Se resolverán sumas en distintas bases, aplicando las mismas reglas y metodología que
para el sistema decimal, sólo será necesario analizar el resultado obtenido al sumar cada
columna, si el resultado obtenido es un símbolo perteneciente a la base en la cual se está
sumando se procederá a escribirlo, caso contrario deberá ser convertido expresándolo en
la base destino. A continuación se realizarán a modo de ejemplo algunas sumas en
distintas bases explicándose el procedimiento:
Base 8 (Octal): Si se quiere sumar dos números en base 8 deberá considerarse que símbolos pueden escribirse en dicha base de forma que en cada columna no
se podrá escribir un símbolo no perteneciente a base 8. El cálculo se pensará en
decimal y siempre que el resultado del mismo en decimal sea a lo sumo igual
que 7 podrá ser escrito quedando ya expresado en base 8. Es importante tomar
en cuenta que los números 0,1,2,3,4,5,6,7 coinciden en ambas bases cuando en
decimal se consigna el 8 en base 8 se deberá escribir 10 (la base escrita en su
base se escribe 10), a partir de allí comenzarán a cambiar la forma de escribir los
valores.
Para resolver la suma propuesta en la figura 2.A.11 se comenzará sumando la
columna de menor peso: 4 + 5 (columna sombreada en la figura 2.A.3), en
decimal el resultado sería 9 como supera al 7 (máximo valor posible de escribir
en base 8) no podrá escribirse sin ser previamente expresado en base 8.
Entonces se podrá pensar que si 8 en base 8 se escribe 10, entonces 9 será 11,
con lo cual pone un 1 en la columna que se ha sumado y se acarrea un 1 en la
columna siguiente. Luego se procede a sumar la columna siguiente en donde
ahora deben sumarse 3 valores 1+6=7 y luego 7+5=12. Se procede del mismo
modo pensando cómo se escribe el 1210 en base 8. Podría pensarse desde el 8 al
12 toda la sucesión de valores: el 8 en base 8 se escribe 10, con lo cual el 9 será
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 19 de 91
11, el 10 será 12, el 11 será 13 y el 12 será 14. Es importante notar que cuanto
mayor es el número resultante esto se hace más extenso. Sumando en base 8
podría tenerse en una columna 7+ 7 siendo el 7 el valor más grande en base 8 a
su vez podría haber un acarreo de una columna anterior con lo cual en decimal
se tendría el valor 15, comienza a ser arduo el trabajo de imaginar a partir del 8
como escribir el número 15. De forma que se recomienda aplicar el método de
conversión entre bases el 1210 -> A base 8. Solo habrá parte entera para convertir
con lo cual se toma la parte entera 1210 y se la divide sucesivamente por la base
destino 8; con lo cual será 12 / 8 = 1 y resto 4. Tal como se indicó anteriormente
el resultado será 148 con lo cual se anotará el 4 en la columna sumada y se
procederá a acarrear un 1 a la columna siguiente. Finalmente se suma la última
columna (1+1+4) dando por resultado 6, símbolo que se corresponde con la base
8 no necesita ser convertido. Ver Figura 2.A.12.
1 1
1 6 4 8
+ 4 5 5 8
6 4 1 8
Figura 2.A.12. Suma en octal
Base 2 (Binario): Se plantea en la figura 2.A.13 el caso de la de 4 números de distinta cantidad de dígitos los cuales han sido previamente alineados.
1 1 2
1 0 1 0 2
1 0 0 1 2
+ 1 1 0 2
1 1 1 0 0 2
Figura 2.13. Suma en binario
Se propone realizar la suma en decimal por columna y luego pensar como se
expresa dicho resultado en binario (en binario solo será válido el valor arrojado
por una columna que de por resultado 0 ó 1, todos los resultados restantes
deberán ser convertidos a binario). En la primer columna sombreada en la figura
2.14, se suma 1+0+1+0=2 en decimal luego se debe pensar como se escribe el 2
en base 2 (la base escrita en su base es 10), con lo cual se anota el 0 en esa
columna y se acarrea un 1 a la columna siguiente. En la columna siguiente se
deberá sumar el acarreo a los símbolos propios de la columna: 1+(1+1+0+1)= 4,
el 4 decimal se escribe 100 en binario, se anota 0 en la columna y se acarrea 10 a
la columna siguiente (observe que en este caso el acarreo consta de dos dígitos).
Nótese que ese 10 surge de un acarreo de una operación en base 2 no representa
al número diez decimal sino que representa al dos decimal, con lo cual la
siguiente columna a sumar será: 2+(0+0+1)= 3 que se escribe 11 con lo cual se
Ejercicio 2.A.12 - Sugerido
Convierta a decimal los dos números que fueron sumados en la figura 2.A.12 (1648 y
4558), convierta también a decimal el resultado arrojado (6418), luego realice la suma en
decimal y compruebe si el resultado decimal concuerda con el equivalente decimal a
6418.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 20 de 91
anota el 1 en dicha columna y se acarrea el otro 1 a la columna siguiente. En la
última columna a sumar a quedado 1+(1+1)=3 que se escribe 11, se anota un 1
en esa columna y se acarrea un 1 a la siguiente. Ver Figura 2.A.14.
1 1 10 1
1 1 2
1 0 1 0 2
1 0 0 1 2
1 1 0 2
1 1 1 0 0 2
Figura 2.A.14. Suma en binario
Base 3: Se desea sumar los números 1203 + 2113. En la figura 2.A.15 se muestra directamente la resolución de dicha operación. Puede verse que al sumar la
primera columna 0+1=1 y eso se anota directamente; en la columna siguiente
2+1=3 que debe expresarse en base 3, siendo el resultado 10 con lo cual se anota
el 0 y se acarrea un 1 a la columna siguiente. La última columna a sumar: 1+1+2
= 4, lo que se escribe como 11, se anota un 1 en esa columna y se acarrea un 1 a
la siguiente.
1 1
1 2 0 3
+ 2 1 1 3
1 1 0 1 3
Figura 2.A.15. Suma en base 3
Puede observarse que las sumas se han realizado sin requerir de ningún tipo de tabla, sin
embargo a fines didácticos es posible construir una tabla en donde se presenten todos
los símbolos de la base y además los resultados que arrojarían al sumarse entre si, por
ejemplo en base 3 los símbolos posibles serían: 0, 1, 2.
En la tabla 2.A.9 se han volcado los símbolos posibles en base 3 tanto para rotular las
filas como para rotular las columnas. De forma que la celda señalizada con un *
contendría el valor correspondiente a la suma de 2+1 escrito en base 3.
Tabla 2.A.9. Tabla vacía de suma en base 3
+ 0 1 2
0
1
2 *
La tabla 2.A.10 muestra como quedaría completa la tabla de suma en base 3.
Tabla 2.A.10. Tabla resultante de la suma en base 3
+ 0 1 2
0 0 1 2
1 1 2 10
2 2 10 11
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 21 de 91
Es importante observar que:
la primer fila en la que se ha sumado 0 + un valor, queda el mismo valor a lo
largo de la fila.
la suma es conmutativa de forma que 2+1 da el mismo resultado que uno 1+2
cuando se intenta sumar 2+1 dando 3 en decimal dicho valor no pude escribirse como tal ya que el 3 no es un símbolo válido en base 3, deberá anotarse 10.
2.A.4.2. Resta
Al igual que para la suma será necesario contemplar todas las reglas que se aplican en
decimal para realizar una resta. No es necesario explicar cómo se resta en decimal: 26 -7
sin embargo es importante partir de los detalles que encierra esta cuenta para poder
luego ocuparse en restas en otras bases.
En el primario la maestra explicaba en el pizarrón, más o menos lo siguiente: “No puedo
restar 6 con el 7 entonces le pide al compañero, el compañero tiene 2 queda en 1 y le
pasa uno a la columna que le pidió prestado”. Acá surgen un gran interrogante (ver
figura 2.16), porque si se le pidió uno al compañero y la columna que lo pidió tenía 6 no
queda en 7 sino en 16, porque el 1 se anota delante del número. Ver Figura 2.A.16.
1
2 16
- 7
Figura 2.A.16. Método de resta
Sucede que el número 26 está compuesto por 2 decenas y 6 unidades. Al quitar una
decena se está sacando 10 unidades las cuales pueden sumarse a la columna de las
unidades y el numero seguirá representando el mismo valor.
2 decenas + 6 unidades ≡ 1 decena + 16 unidades
Esto explica porque siempre es posible quitarle a una columna y otorgarle lo
equivalente a lo quitado a otra columna de menor peso.
Podría entonces pensarse que si saca 1 decena se le otorga a la columna de las unidades
10, si se saca 1 centena se le otorgan 10 a la columnas de las decenas. Dada esta
explicación es posible comprender que éste 10 que reciben las columnas, en las que no
era posible efectuar la resta, se debe a que se está trabajando en decimal.
Cada vez que no se puede efectuar la resta se quita de la columna inmediata 1 base y
esta entrega a la que lo solicito 1 base. Es decir en base 3, cada vez que se quite 1 la
columna anterior recibirá 3. Se presenta a continuación algunas restas:
Resta en base 3: Se desea realizar 2113 -1203 (siendo el 211 el minuendo y el
120 el sustraendo). En la figura 2.A.17 se muestra el cálculo a realizar, al restar
la primer columna 1-0 el resultado es 1, la siguiente columna no puede ser
restada no es posible a 1 quitarle 2 con lo cual se recurre a la columna siguiente
que tiene 2 y queda en 1, la columna anterior recibe la base que es 3 que escrita
en su base se consignará como 10, la cuenta a resolver entonces será 3+1= 4 y
ese valor menos 2, el resultado de la columna será entonces 2, finalmente en la
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 22 de 91
última columna ha quedado 1-1=0 (ese cero podría no anotarse ya que los ceros
a la izquierda de la parte entera de un número no tienen valor siendo lo mismo
213 que 0213). Ver Figura 2.A.17.
1 310
2 1 1 3
- 1 2 0 3
0 2 1 3
Figura 2.A.17. Resta en base 3
Sólo en está primer resta se aclarará el valor de la base en decimal (en la
segunda columna de la cuenta) para las futuras restas solo se pondrá 10 ya que la
base escrita en su base es 10, y el lector deberá recordar que eso en decimal se
leerá como el valor de la base en cuestión.
Resta en base 16 (hexadecimal): Se desea restar E7C2 – AF1B ambos números expresados en hexadecimal, tal como se indica en la figura 2.A.18.
E 7 C 2 16
- A F 1 B 16
3 8 A 7 16
Figura 2.A.18. Resta en hexadecimal
Para efectuar la cuenta pensando en decimal será necesario tener presente el
valor de cada una de las letras en decimal (tanto decimal como hexadecimal
coinciden del 0 al 9, luego cuando en decimal se escribe 10 en hexadecimal se
escribe la A y así sucesivamente, lo cual se ha dejado anotado junto a la cuenta a
realizar – ver figura 2.A.19).
En la figura 2.A.19 se presenta la resolución de la resta en la primera columna se
desea realizar 2- B, como el equivalente decimal de B es mayor que dos no es
posible efectuar la resta siendo necesario descontarle uno en la columna
siguiente, donde se encuentra la letra C quedando en B y la columna a restar
recibe 16 (la base, que se escribe 10). La primer columna entonces se resuelve
pensándose en decimal: (16 + 2) - 11= 7. La columna siguiente a quedado como:
B-1 lo cual da A. Luego es necesario realizar 7-F siendo F mayor a 7, no es
posible, por lo cual es necesario descontarle a la E uno, quedando en D y se le
otorga una base a la columna en cuestión. La columna a restar a quedado:
(16+7)-15=8. Finalmente la última columna a restar a quedado D-A siendo 13 –
10= 3
A 10
B 11
C 12 D 10 B 10
D 13 E 7 C 2 16
E 14 - A F 1 B 16
F 15 3 8 A 7 16
Figura 2.A.19. Resta en hexadecimal
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 23 de 91
Ejercicio 2.A.13 - Sugerido
En toda resta A-B=C, puede decirse que A=C+B; de modo que para la resta anterior
realizada E7C2 – AF1B = 38A7 es posible afirmar que si dicha cuenta ha sido
calculada correctamente deberá verificarse que 38A7 + AF1B será igual a E7C2.
Realice dicha suma y compruebe que el resultado arrojado por la misma es E7C2.
Es importante destacar que así como puede ser verificada una resta en decimal también
podrá verificarse una resta realizada en cualquier otra base. Se aconseja realizar el
ejercicio 2.A.13 que se propone a continuación.
2.A.4.3. Multiplicación
Para comenzar se plantea un ejemplo sencillo, se desea realizar: 122 x 2 (ambos
números expresados en base 3).
Se comienza por la primera columna pensando en decimal: 2x2=4; lo que daría por
resultado 11 escrito en base 3. La siguiente columna tiene un 2, 2x2=4 pero a este 4
debe sumarse el acarreo de la columna anterior entonces queda 4+1=5 que en base 3 se
escribe 12, se escribe 2 y se acarrea el 1 a la siguiente columna. Finalmente la última
columna será (2x1)=2, a este resultado debe sumarse el carry de la columna anterior
quedando 2+1=3, que en base 3 se escribe 10, se pone el 0 en esa columna y se acarrea
1 a la siguiente. La figura 2.A.20 muestra la multiplicación explicada.
1 1
1 2 2 3
x 2 3
1 0 2 1 3
Figura 2.A.20. Multiplicación en base 3
Distinto es el caso en el que se desee multiplicar un número por otro que tenga más de
un dígito, en cuyo caso será necesario realizar además una suma. Dicha suma será
realizada en la base en la cual se esté operando. En la figura 2.A.21 se presenta un
producto realizado en base 5 en el cual fue necesario realizar una suma en base 5 para
poder expresar el resultado.
1 2
1 2 4 5
X 3 2 5
3 0 3
+ 4 3 2 .
1 0 1 2 3 5
Figura 2.A.21. Multiplicación en base 5 – ejemplo 1
Puede observarse que las multiplicaciones se han realizado sin requerir de ningún tipo de tabla, sin embargo a fines didácticos es posible construir una tabla en donde se
presenten todos los símbolos de la base y además los resultados que arrojarían al
multiplicarse entre si, por ejemplo en base 3 los símbolos posibles serían: 0, 1, 2.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 24 de 91
Tabla 2.A.11. Tabla vacía de multiplicación en base 3
x 0 1 2
0
1
2 *
En la tabla 2.A.11 se han volcado los símbolos posibles en base 3 tanto para rotular las
filas como para rotular las columnas. De forma que la celda señalizada con un *
contendría el valor correspondiente a la producto de 2x2 escrito en base 3. La tabla
2.A.12 muestra como quedaría completa la tabla de multiplicación en base 3.
Tabla 2.A.12. Tabla resultante de multiplicación en base 3
x 0 1 2
0 0 0 0
1 0 1 2
2 0 2 11
Es importante observar que:
La primer fila en la que se ha multiplicado 0 x cada uno de los valores de la columna, quedará 0 a lo largo de la fila. Lo mismo sucede en la primera
columna.
La segunda fila requiere realizar 1 x cada uno de los valores de la columna,
dando por resultado el valor de la columna.
Finalmente se realiza el producto de la última fila en donde 2 x 2 es 4 en decimal dicho valor no pude escribirse como tal ya que el 4 no es un símbolo válido en
base 3, deberá anotarse 11.
2.A.4.5. División
Como el resto de las operaciones aritméticas presentadas la división se realizará en
todos los sistemas posicionales aplicando las mismas reglas que en el sistema decimal.
Se presenta el caso de una división en decimal, 19/5 en donde 19 es el dividendo y 5 es
el divisor. El cociente da 3 y el resto da 4. Esto no requiere esfuerzo alguno debido a
que el lector está acostumbrado a realizar operaciones en base 10. Sin embargo resulta
necesario aplicar los mecanismos de resolución utilizados en decimal para resolver
divisiones en otras bases.
Se propone a continuación dos formas de resolver la división:
1. Por tanteo: Consiste en analizar por qué numero debe multiplicarse al divisor
para obtener un resultado lo más cercano al dividendo sin sobrepasarlo
(5 x ? ≤ 19). De todos los números que cumplen con la condición el 3 es el que arroja un resultado más próximo, dicho valor es el cociente de la división y el
resto será la diferencia entre el dividendo y el resultado al realizar la productoria
entre el divisor y el número escogido: 19 – (5 x 3) = 19 – 15 = 4.
2. Restas Sucesivas: Permite ver cuántas veces el divisor cabe en el dividendo.
¿Cuántas veces es posible restarle 5 al número 19? Si se realizan las restas
sucesivas se verá que la cantidad de veces es 3 (cociente de la división) y en la
última resta quedan 4 unidades (resto de la división)
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 25 de 91
En la figura 2.A.22 se presentan ambos métodos en la resolución de la división 19/5 en
base 10.
19 5 19 5 19
-15 3 4 3 -5
4 14
-5
Por tanteo Restas Sucesivas 9
Cociente 3 Cociente 3 -5
Resto 4 Resto 4 4
Figura 2.A.22. División en base 10 - Métodos
La explicación anterior es algo trivial cuando se trata del sistema de numeración
decimal, ¿porque se explicará en este libro cuentas del tipo 10/3 si es evidente que el
resultado será 3 y el resto 1?. Sin embargo ¿será tan evidente el resultado si estos
números estuviesen expresados en base 7?
A continuación se aplicará los métodos de división para resolver una división en base 7,
tomando como ejemplo 10/3:
1. Por tanteo será necesario calcular el cociente probando por número
multiplicar a 3 para aproximarse a 10 sin sobrepasarlo. Pero este producto
será en base 7. Por lo cual resulta imprescindible comenzar a probar: 3 x 1=
3; 3 x 2= 6; 3x 3= 9 en decimal pero deberá ser expresado en base 7 con lo
cual 3 x 3=12 (ver figura 2.23). De este modo el cociente será 2 y el resto
surge de realizar 10 – 6; pero es necesario recordar que esta operación
también debe efectuarse en base 7. Ver Figura 2.A.23.
10 3 3 3 3
- 6 2 x 1 x 2 x3
1 3 6 12
Por tanteo
Cociente 2
Resto 1
Figura 2.A.23. División en base 7- Por tanteo
2. Restas sucesivas: En la figura 2.A.24 se procede a realizar la misma división
por medio de restas sucesivas. Cabe destacar que dichas restas deberán
efectuarse en base 7. Pudo efectuarse 2 restas (resultado del cociente) y en la
última de ellas se produce un resto de 1.
10 3 10
1 2 - 3
4
Por restas sucesivas -3
Cociente 2 1
Resto 1
Figura 2.A.24 División en base 7- Restas sucesivas
Ambos métodos son válidos pudiéndose elegir uno u otro en forma indistinta.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 26 de 91
2.A.5. Utilidad del Sistema Binario
De los sistemas de numeración presentados en este capítulo es el binario aquel que
cobrará fundamental importancia para los siguientes capítulos. El sistema binario es el
utilizado para almacenar información en una computadora.
En electrónica digital se utilizan dispositivos y circuitos en los que sólo existen dos
estados posibles de información. Por este motivo, cualquier dato deberá ser
representado como una secuencia de dos valores, que pueden considerarse como sí – no,
abierto – cerrado, encendido – apagado (on – off) o cualquier otra pareja de símbolos.
Por motivos prácticos se adoptan los símbolos 0 y 1, cuya sucesión proporciona
números binarios más fáciles de tratar que las otras secuencias mencionadas, mediante
los cuales es posible realizar operaciones aritméticas y lógicas. Un número binario, por
ejemplo el 10101, está compuesto por una determinada cantidad de dígitos binarios
denominados Bit (Binary digit), en este caso el número está constituido por 5 bits.
Sin embargo en informática no siempre se habla de bits. Sucede que en algunas
ocasiones la cantidad de bits es tan grande que es conveniente expresar dicha cantidad
de otro modo. Una persona que va a comprar un pendrive (medio de almacenamiento
extraible) seguramente no se le ocurriría solicitarlo pidiendo que tenga una capacidad de
536.870.912 bits, probablemente será más común escuchar que la capacidad de dicho
dispositivo es de 64 GB. Lo mismo ocurre cuando se solicita un Kilo de pan y no 1.000
gramos. Si bien en matemática el Kilo es equivalente a 1.000 en informática resulta
conveniente expresar todo por medio de potencias de dos siendo 210
= 1024 el valor más
próximo a 1.000 por ello recibe el nombre de Kilo.
En la tabla 2.A.13 se presentan las equivalencias y denominaciones. La unidad más
pequeña es el bit (un bit podrá ser un 0 ó un 1), un conjunto de 4 bits recibe el nombre
de Nigle. Un conjunto de 8 bits se denominan Byte, de forma que ½ Byte = 1 Nigle. A
partir del Byte se conforman el resto de las unidades 1024 Bytes = 1 KByte y a partir de
allí cada 1024 (210
) existe otra unidad. Para facilitar la comprensión de las unidades, se
utiliza una aproximación entre las potencias de 2 y las de 10, ya que 210
= 1024 es
aproximadamente 1.000 = 103.
Tabla 2.A.13. Nombres de las unidades en función de la cantidad de bits y bytes
Unidad Abre-
viatura
Equivalencia
entre unidades
Cantidad real de Bytes en
Potencias de 2
Cantidad aproximada de
Bytes en Potencias de 10
Bit 1 bit
Nibble 4 bits
Byte B 8 bits
Kilo K 1024 Bytes 210
103
Mega M 1024 KBytes 220
106
Giga G 1024 MBytes 230
109
Tera T 1024 GBytes 240
1012
Peta P 1024 TBytes 250
1015
Exa E 1024 PByte 260
1018
Zetta Z 1024 EByte 270
1021
Yotta Y 1024 ZByte 280
1024
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 27 de 91
Se recomienda observar el ejercicio 2.A.14 propuesto a continuación utilizando la tabla
2.A.13
Ejercicio 2.A.14 - Resuelto
¿Cuántos bits representan 16 ZB?
Exprese el resultado por medio de una potencia de 2
Resolución:
16 ZB= 16 x (210
x 210
x 210
x 210
x 210
x 210
x 210
x 8) bits
“Producto de potencias de igual base” se suman los exponentes de forma que podría
expresarse el cálculo anterior como:
16 ZB = (16 x 270
x 8) bits
El número 8 que se ha incluido para poder pasar la cantidad de Bytes a bits, también
se puede expresar como 23, incluso 16 también podría ser expresado como 2
4.
16 ZB = (16 x 270
x 8) bits = (24 x 2
70 x 2
3) Bits = 2
77 bits
Resulta por supuesto más conveniente decir 16ZB en vez de 277
para expresar dicha
cantidad en bits.
EB
PB TB
GB
MB
KB B
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 28 de 91
PARTE B. INTRODUCCIÓN A LOS SISTEMAS NUMÉRICOS PARA APLICACIONES INFORMÁTICAS
Representación interna de la información
- Autora: C.C. Mabel Cilenti –
2.B.1. Introducción
Los caracteres utilizados en los lenguajes naturales humanos y los números decimales
son de uso corriente y comprendidos por las personas, ellos conforman lo que se
denomina “representación de datos externa”, pero la computadora por su naturaleza
electrónica, no puede entender y usar esos símbolos y números directamente, los datos
para ser tratados deben estar en forma binaria. Con representación interna de datos se
hace referencia a los distintos métodos de representar el lenguaje natural y los números
decimales en binario dentro de la computadora, como fue explicado en 2.A.5.
2.B.2. Formas de representar a los números enteros
Los números enteros son aquellos que no poseen parte fraccionaria, se los representa en
notación de punto fijo (en Argentina “la coma”), ubicando el punto decimal (“la
coma”) siempre en un lugar fijo que es a la derecha de la cifra menos significativa, de
allí su nombre de “punto fijo”. Por ejemplo: el número entero 532 es igual al 532. representado en punto fijo. Nótese la ubicación del punto fijo a la derecha del dígito
menos significativo, en este caso el 2.
Independientemente del método utilizado para la representación de los números se debe
conocer n, la cantidad (fija) de bits que la computadora utiliza para almacenar
información a esta cantidad de bits que la computadora lee o graba todos juntos en una
sola acción se la denomina: longitud de palabra. Esta puede ser de 8 bits, 16 bits, 32
bits, 64 bits, etc.
Se pueden consideran las siguientes representaciones de números enteros:
Binario puro (enteros sin signo)
Signo y módulo (también denominado signo y valor absoluto).
Complemento a la base
Complemento a la base menos 1
Como el sistema de numeración a emplear es binario (base 2), en las dos últimas
representaciones puede sustituirse la palabra Base por el valor de la base, es decir 2. De
esta forma existen dos maneras de mencionar a dichas representaciones:
Complemento a la base (CB)= Complemento a dos (C2)
Complemento a la base menos 1(CB-1)= Complemento a 1(C1)
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 29 de 91
En cada representación se tendrá en cuenta dos parámetros importantes:
- Capacidad de representación: la cantidad de tiras de bits distintas que se
pueden representar. Por ejemplo si se tiene un sistema restringido a 4 bits,
existen 24 = 16 representaciones distintas.
- Rango o intervalo de representación: dado por el número más pequeño y el
más grande representables. Por ejemplo, en binario sin signo, con 4 dígitos es
[0,15].
2.B.2.1. Representación en binario puro. Enteros sin signo
Existen algunas magnitudes que son siempre positivas, por ejemplo la edad de una
persona: 18 años, la dirección de una vivienda: Rivadavia 1234, el número de DNI:
12345678.
Los enteros sin signo (siempre positivos) poseen un rango entre 0 y el infinito positivo,
las computadoras no pueden almacenar todos los enteros en este intervalo, para ello
necesitarían un número infinito de bits, lo que implicaría una computadora con una
capacidad de almacenamiento infinita, cosa imposible, por lo tanto el máximo entero
dependerá de la longitud de palabra utilizada.
En esta convención la representación del valor numérico coincide con su expresión en
binario, siendo siempre positivo (ver ejemplo 2.B.1).
La cantidad de números que se pueden representar con n bits es 2n, por ejemplo:
para n = 8 bits existen 256 representaciones distintas. Pero como los enteros incluyen al
0 y la cantidad total de números que se pueden representar es 2n, el rango se expresa:
En general para palabras de n bits el rango para ENTEROS SIN SIGNO es desde
0 a 2n-1
Para palabras de 8 bits el rango es desde 0 a 28 -1
Para palabras de 8 bits el rango es desde 0 a 256 -1
Para palabras de 8 bits el rango es desde 0 a 255
Ejemplo 2.B.1. – Representación en binario puro (sin signo)
Representar los números decimales 22 y 197 considerando una palabra de n = 8 bits
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 30 de 91
La tabla 2.B.1 muestra según la cantidad de bits que se utilicen para el almacenamiento,
el rango de representación en binario puro y algunos ejemplos.
Tabla 2.B.1. Rango de representación en binario puro
2.B.2.2. Representación en signo y módulo. SM
Para la representación de números enteros con signo se asocia los dos posibles valores
del signo (+ y -) a los dos dígitos (0 y 1) del sistema binario mediante la utilización de
un bit.
En esta convención el MSB (bit más significativo, o sea el bit más a la izquierda en la
palabra) representa el signo, por convención 0 para + y 1 para el signo -, en el resto de
los n-1 bits va el valor absoluto o módulo del número en binario. Para n = 8 bits, el
formato es el presentado en la Figura 2.B.1.
SIGNO MÓDULO o VALOR ABSOLUTO DEL NÚMERO
Figura 2.B.1. Formato de representación en Signo y Módulo para 8 bits.
El ejemplo 2.B.2. muestra las representaciones del mismo módulo con signo positivo y
negativo. Obsérvese que la única diferencia entre ambas representaciones es el signo
(dígito más significativo, ubicado a la izquierda).
Esta forma es muy simple de implementar, pero de baja utilidad ya que si bien admite
números signados, presenta algunos inconvenientes:
Cantidad de bits Rango de representación
n [0 …2n – 1]
8 [0 …255]
16 [0 ... 65535]
Ejemplo 2.B.2. – Representación en módulo y signo
Representar el valor +35 y -35, con n= 8 bits, incluido el signo
Valor + 3510 = 0 01000112
Valor - 3510 = 1 01000112
Signo Valor absoluto
Ejercicio 2.B.1. – Sugerido
Representar el número decimal 191 en binario puro y n= 8 bits.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 31 de 91
- Tiene dos representaciones para el cero, una positiva y otra negativa, (para n= 8
bits) 00000000 y 10000000. No tiene sentido contar con dos combinaciones
para representar el cero, tampoco tiene sentido matemático contar con un signo
para expresar al cero como positivo o negativo. Por ello es preciso descartar una
de estas combinaciones optándose por no utilizar la de signo negativo. Por lo
tanto si bien la cantidad de combinaciones distintas son 2n, 256 para el caso de 8
bits, solo pueden representarse 28 – 1 = 255 combinaciones.
- No permite realizar operaciones aritméticas, es decir, si bien el MSB indica el
signo del valor representado, al hacer una operación aritmética dicho bit debe ser
tomado como un bit más, sin hacer diferenciación en la operación. Esta situación
se muestra en la figura 2.B.1 donde al realizar la suma de los números +36 y -36
en esta convención, se obtiene un resultado no nulo (-72), cuando el correcto es
cero.
Figura 2.B.2. Representación SM, no válida para operaciones aritméticas.
La cantidad de valores que se pueden representar con n bits sigue siendo 2n, pero ahora
la mitad serán positivos y la mitad negativos.
En la figura 2.B.3 se procede a escribir todas las combinaciones posibles con 3 bits (8
combinaciones), al considerar que el MSB representa el signo puede observarse que las
4 primeras se corresponderían con números positivos y las 4 restantes con números
negativos.
MSB
+
0 1 1 = + 3
0 1 0 = + 2
0 0 1 = + 1
0 0 0 = + 0
-
1 0 0 = - 0 (combinación que se descarta)
1 0 1 = -1
1 1 0 = -2
1 1 1 = -3
Figura 2.B.3. Representación SM, no válida para operaciones aritméticas
El rango de representación es diferente con respecto al visto para enteros sin signo,
debido a que se ha utilizado un bit para indicar el signo del número, quedando n–1 bits
para representar su valor absoluto, por lo tanto el máximo valor posible es 2n–1
– 1, y el
menor negativo es –(2n–1
– 1).
En la Tabla 2.B.2. se indica el rango de representación en signo y módulo según la
cantidad de bits.
+ 3610 001001002
+ - 3610 + 101001002
010 110010002 (es el -72)10
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 32 de 91
Tabla 2.B.2. Rango de representación en signo y módulo
2.B.3. Complemento de un número.
2.B.3.1. COMPLEMENTO A LA BASE
El concepto de complemento se refiere a lo que le falta a un conjunto para alcanzar el
todo.
Por ejemplo: el complemento de {a, e, o} con respecto a todas las vocales es {i, o}. Lo
que le falta a: {a, e, o} para “completar” todas las vocales es {i, u}. Ver Figura 2.B.4.
Figura 2.B.4. Complemento.
El complemento a la base CN,B de un número positivo N de base B, es la diferencia
entre la base elevada al número de cifras empleada para la representación, y el valor que
se desea representar, esto se plasma en la expresión 2.B.1.
CN,B = Bn-N
N: número a representar, entero o fraccionario
B: base del sistema de numeración
n: cantidad de cifras empleadas en la representación del número
Expresión 2.B.1. Definición de complemento a la base
Cantidad de bits Rango de representación
N [-(2n-1
-1).., +0 .. 2n-1
-1]
8 [-127,+127]
16 [-32767,+32767]
Ejercicio 2.B.2 - Sugerido
Indique cuál es el mínimo número de bits necesarios para representar en binario el
número decimal –256 en signo y módulo.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 33 de 91
NÚMERO = 3 COMPLEMENTO A LA BASE = 7
0 1 2 3 4 5 6 7 8 9 10
Figura 2.B.4.: Complemento a la Base del número 3 (C3,10 = 7)
El complemento se calcula siempre por exceso, o sea tomando potencias de B que sean
superiores a N.
En el Ejemplo 2.B.3 mostrado a continuación se presentan tres casos para los cuales se
ha calculado el complemento a la base.
Tal como se ha comprobado en la Parte A, la base de un sistema de numeración
expresada en dicha base será siempre 10 (“uno cero”), por ello B se expresa como 10
en todos los casos, por facilidad n (exponente al que se eleva la base se ha representado
en decimal independientemente de la base en la que se esté trabajando). Tomando el
tercer caso presentado en el ejemplo 3.3 el exponente 4 escrito en binario sería 100.
Es importante notar por otra parte que la resta a realizar deberá llevarse a cabo en la
base que se está trabajando, ver figura 2.B.5.
Figura 2.B.5. Cálculo del Complemento a la Base del número 11012
Si bien esta cuenta no resulta difícil de resolver, se provee a continuación una regla
práctica que permite obtener el complemento a la base de un número binario sin
necesidad de realizar una cuenta:
Se recorre el número a complementar de derecha a izquierda, hasta el primer bit en 1
inclusive no se modifican, y el resto de los bits se invierten, unos por ceros y ceros por
unos. En la figura 2.B.6 se presentan algunos ejemplos.
A = 011011 A = 010100
---- ----
CA,2 = 100101 CA,2 = 101100
Figura 2.B.6. Regla práctica para hallar el complemento a 2
1 0 0 0 0 2
- 1 1 0 1 2
0 0 1 1 2
Ejemplo 2.B.3. – Complemento a la base
C287,10 = 103 – 28710 =100010 – 28710 = 71310
C72,8 = 102 – 728 = 1008 – 728 = 68
C1101,2 = 104 – 11012 = 100002 – 11012 = 00112
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 34 de 91
2.B.3.2. COMPLEMENTO A LA BASE MENOS UNO
El complemento a la base menos uno de un número positivo, es la diferencia entre la
base elevada al número de cifras destinadas a representar el número menos uno y el
valor que se desea representar:
CN,B-1 = (Bn-1) - N
N es el número a representar, entero o fraccionario y B es la base del sistema de
numeración en que está representado el número, en este caso también el complemento
es por exceso. En el ejemplo 2.B.4 se realizan complementos a la base menos uno de
números expresados en distintas bases.
Regla práctica para obtener el complemento a la base menos uno de un número binario
(complemento a 1): se recorre el número a complementar cambiando los unos por ceros
y viceversa tal como se muestra en la figura 2.B.5.
A = 011011 A = 010100
---- ----
CA,B-1 = 100100 CA,B-1 = 101011
Figura 2.B.5. Regla práctica para hallar el complemento a 1
Se puede calcular el complemento a la base de un número, obteniendo primero su
representación en complemento a la base menos uno, y luego sumarle 1 en la posición
del bit menos significativo (ver el ejemplo 2.B.5).
Ejemplo 2.B.4. – Complemento a la base menos
uno
C287,10-1 = (103 – 1) – 287 = 999 – 287 = 71210
C72,8-1 = (102 – 1) – 72 = 77 – 72 = 058
C1101,2-1 = (104– 1) – 1101 = 1111 – 1101 = 00102
Ejemplo 2.B.5. – Complemento a la base, a través del complemento a
la base menos uno
C287,10 = C287,10-1 + 1 = 71210 + 1 = 71310
C72,8 = C72,8-1 + 1 = 058 + 1 = 068
C1101,2 = C1101,2-1 + 1 = 00102 + 1= 00112
Comparar los resultados obtenidos con los del ejemplo 2.B.3.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 35 de 91
2.B.3.3 UTILIZACIÓN DEL COMPLEMENTO EN OPERACIONES DE RESTA
El término complemento de un número es aplicable a todos los sistemas de numeración
posicionales, pero es utilizado fundamentalmente en el sistema binario para entregar una
adecuada representación de números signados que permita operar con ellos, el mismo
puede ser utilizado para realizar la operación de la resta a partir de una operación de
suma. Si se desea restar dos números M y S podría plantearse lo mostrado en la tabla
2.B.3.
Tabla 2.B.3. Expresiones equivalentes para la resta entre dos números
Expresión de Partida: R = M – S
La expresión no cambia si se suma y resta Bn
(una
potencia de la base, tal que sea mayor que M y S)
R = M + Bn
– Bn
– S
Reacomodamos los términos R = M + (Bn
– S) – Bn
El paréntesis de la expresión anterior representa al
complemento a la base del número S
R = M + CS,B – Bn
A partir de la tabla 2.B.3 se puede concluir que la resta entre M y S se puede realizar
sumando a M el complemento a la base de S y eliminando luego la potencia de la base
que se utilizó para el cálculo del complemento, como se muestra en la expresión 2.B.2.
R = M + CS,B – Bn
Expresión 2.B.2. Resta utilizando complemento
A modo de ejemplo, en la figura 2.B.8 se realizar la resta de los números 128 y 39,
expresados en el sistema decimal de numeración, utilizando el concepto de
complemento a la base:
Figura 2.B.8. Resta de dos números a través de la suma del complemento
Se restó del resultado obtenido, la potencia de la base utilizada para calcular el
complemento (102).
En la figura 2.B.9 se puede observar la restar de los números binarios 11001 y 00101
utilizando el complemento a la base.
428 – 39 = 389
428 + 61 = 489 - 102 = 389
(se resta el 10
2 del complemento)
C39,10 = 102 – 39
Ejercicio 2.B.3. - Sugerido
a) Calcule el complemento a la base de : A1FH y 1011001002
b) calcule el complemento a la base -1 de: 4678 y 111000102
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 36 de 91
Figura 2.B.9. Resta de dos números binarios en complemento a 2
Se restó del resultado obtenido, la potencia de la base utilizada para calcular el
complemento (105), sencillamente se elimina el bit más a la izquierda que excede la
cantidad de bits usados en la representación.
Si bien el cálculo de la resta utilizando la suma del complemento es más largo, en el
caso de las computadoras que operan en binario, el resolver la resta por medio de la
suma del número complementado permite un ahorro en la estructura circuital de la
unidad de cálculo, dado que las operaciones de suma y resta se resuelven
con el mismo circuito lógico.
Por todo lo expuesto, SÓLO se complementarán los números negativos.
Otra forma de resolver la resta entre M y S es sumar a M el complemento a la base
menos 1 de S, eliminar luego la potencia de la base y al resultado obtenido sumarle 1
(ver expresión 2.B.3)
R = M + (Bn
- 1) – (Bn – 1) –
S
R = M + [(Bn
- 1) - S] - Bn + 1
R = M + CS,B-1 - Bn
+ 1
Expresión 2.B.3. Resta a través del complemento a 1
Otro caso a considerar es aquél en el cual el sustraendo es mayor que el minuendo y por
lo tanto el resultado de la resta es negativo. La figura 2.B.10 ejemplifica esta situación
al restar el número decimales 128 de 39, utilizando el concepto de complemento a la
base:
Figura 2.B.10. Resta utilizando Complemento a 2
En esta oportunidad, la potencia de la base utilizada en el cálculo del complemento
(103) no aparece explícitamente en el resultado como en los casos anteriores, por lo
tanto se debe restar del mismo para verificar el resultado de la resta: 911 – 1000 = -89,
lo que equivale a complementar el resultado obtenido.
Por lo tanto, cuando el resultado de una resta es negativo, la suma del minuendo y el
complemento del sustraendo da como resultado el complemento del resultado real.
A modo de ejercitación resolver el ejercicio 2.B.4.
39 – 128 = -89
39 + 872 = 911
C128,10= 103 – 128
11001 – 00101 = 10100
11001 + 11011 = 1 10100 se resta 105
C00101,2= 10101
– 00101
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 37 de 91
2.B.3.4. Representación en complemento a la base–1 (CB-1)
Aquí también el bit más significativo (MSB) representa el signo, 0 para los positivos y 1
para los negativos. Para los números positivos en los (n-1) bits restantes se coloca el
valor absoluto o módulo igual que en SM y para los números negativos va el
complemento a la base menos 1 del número que se está representando.
Solamente se utiliza la representación en complemento para los números negativos.
La tabla 2.B.4 proporciona ejemplos para el caso de n=8 bits.
Tabla 2.B.4. Representación en C1
A continuación la tabla.3.5 presenta todos los valores posibles a representar en C1 con
n= 3 bits.
Tabla 2.B.5. Representación en C1
Decimal Representación
0 000
1 001
2 010
3 011
-3 100
-2 101
-1 110
-0 111
Signo
Se observa las siguientes características para esta representación:
- El bit de signo es 0 para los números positivos y 1 para los negativos.
- La cantidad de combinaciones posibles con n bits es 2n, de las cuales la mitad
corresponde a números positivos y la mitad a negativos.
- Existen dos representaciones para el 0, positivo y negativo. La combinación 111,
correspondiente al -0 no es utilizada ya que no tiene significado matemático, por
Número a representar Signo Módulo
+ 3710 0 0100101
-3710 1 1011010
Ejercicio 2.B.4. – Sugerido
Realizar en binario las siguientes operaciones de números decimales:
a) 235 − 372
b) 372 − 235
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 38 de 91
lo cual de las 2n combinaciones posibles solo se pueden representar 2
n -1
valores numéricos.
- El complemento a uno de un número positivo, es su correspondiente número
negativo y viceversa.
- La posibilidad de realizar operaciones aritméticas y obtener un resultado
correcto, como se ejemplifica en la figura 2.B.11.
+ 3610 00100100 + - 1310
+ 11110010
+ 2310 1 00010110
bit de signo CARRY
Figura 2.B.11. Operación aritmética en CB-1
Se puede ver en el resultado la aparición, a la izquierda del bit de signo, de un
bit extra (se agregó a los ocho bits originales con que se representaron los datos),
denominado bit de arrastre o carry.
Dicho bit debe ser descartado al realizarse una operación de resta mediante la
suma del complemento del sustraendo. Además al calcular dicho complemento
se ha sumado una potencia de la base menos uno (B8 – 1) y al eliminar este 1 (el
carry), se saca una potencia de la base (B8), o sea se saca uno más de lo que se
sumó, por lo cual, para comprobar el resultado correcto se deberá sumar 1 al
resultado obtenido.
Verificación del resultado correcto:
- El resultado que obtuvo la ALU (Unidad Aritmética y Lógica: parte del
computador que se encarga de resolver las operaciones aritméticas y lógicas) al
realizar la operación es 00010110 y Carry.
- Como el signo es positivo (0) el resultado es directamente el valor binario
representado 000101102 o sea 2210.
- Por haber trabajado en CB-1( se sumó Bn-1
) y eliminado el Carry (Bn), se resta uno
más de lo que se sumó, por lo tanto se debe sumar 1 al resultado de la ALU para
una correcta interpretación: 22 + 1 = 23 que es el valor decimal correcto.
La tabla 2.B.6 muestra el rango de representación de números enteros en C-1.
Tabla 2.B.6. Rango de representación en Complemento a uno
Cantidad de bits Intervalo
N [-(2n-1
-1).. …..+ 2n-1
-1]
8 [-127…....+127]
16 [-32767…….+32767]
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 39 de 91
2.B.3.5. Representación en Complemento a la Base o
Complemento a 2
También en esta convención los números positivos se representan en binario mediante
el bit de signo en 0 y su valor absoluto (al igual que en SM y en complemento a 1). Para
los negativos se coloca 1 en el bit de signo y el módulo en complemento a la base
(complemento a 2). La tabla 2.B.7 muestra algunos ejemplos para el caso de n=8 bits.
Tabla 2.B.7. Rango de representación en Complemento a la base, C2
Se ilustra en la tabla 2.B.8 todos los valores posibles a representar en Complemento a
dos con n= 3 bits:
Tabla 2.B.8. Representación en Complemento a dos
Decimal Representación
0 000
1 001
2 010
3 011
-4 100
-3 101
-2 110
-1 111
signo
Las propiedades de esta representación son:
- El bit de signo (el más significativo) es 0 para los números positivos y 1 para los
negativos.
- Posee una única representación para el cero. Por ejemplo, con n = 3 bits, la
representación del +0 es 000, para representar el ─0 se debe calcular el C2 de
000, o sea B3 – 000 = 1000 – 000 = 1000, valor imposible de representar en 3
Número a representar Signo Módulo
+ 17 0 0010001
-17 1 1101111
Ejercicio 2.B.5. - Sugerido
a) Representar en 8 bits los números decimales +112 y -112 en CB-1.
b) Se cuenta con la siguiente representación 11011001 en Complemento a 1 y n= 8
bits. ¿Cuál es el número decimal almacenado?
c) Represente el número decimal -3 en CB-1, con n= 5 bits.
d) ¿Cuál es el número decimal más grande y el más pequeño que se puede
representar con n= 5 bits en CB-1.?
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 40 de 91
bits. Por lo tanto existe una única convención para el 0, y por supuesto es la que
posee bit de signo en 0.
- La posibilidad de realizar operaciones aritméticas y obtener un resultado
correcto (ver figura 2.B.10).
+ 3610 00100100 + - 3610
+ 11011100
010 1 00000000
CARRY
Figura 2.B.10. Resta en complemento a 2
Nuevamente se observa la aparición en el resultado, del bit de arrastre o carry,
que debe ser descartado.
- Existen en esta convención, para n bits, 2n valores a representar, de los cuales la
mitad son positivos (considerando al cero positivo dado que su bit de signo es
cero) y la mitad negativos.
- Los números positivos a representar comienzan en 0 y los negativos en -1, por lo
tanto el valor absoluto del menor negativo supera en 1 al valor absoluto del
mayor positivo, en la tabla 3.8 el mayor positivo es 3 y el menor negativo -4.
La tabla 2.B.9 define el rango de representación de números enteros en C2.
Tabla 2.B.9. Rango de representación en complemento a 2
Cantidad de bits Intervalo
n [-(2n-1
)..-1, +0 .. 2n-1
-1]
8 [-128..-1, +0..+127]
16 [-32768..-1, +0.+32767]
La convención de complemento a dos es la representación más utilizada en la
actualidad.
Ejercicio 2.B.6. - Sugerido
a) Representar en 8 bits los números decimales +12 y -12 en CB.
b) Se cuenta con la siguiente representación 11011001 en Complemento a 2 y n= 8
bits. ¿Cuál es el número decimal almacenado?
c) Represente el número decimal -11 en CB, con n= 6 bits.
d) ¿Cuál es el número decimal más grande y el más pequeño que se puede
representar en CB y n= 4 bits?
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 41 de 91
2.B.4. Rangos de representación
Ya se ha dicho que si se utilizan n bits para representar los números enteros, se obtienen
2n combinaciones distintas. En la tabla 2.B.10 se resume el rango (el mínimo y el
máximo valor) para cada una de las convenciones estudiadas anteriormente.
Tabla 2.B.10. Rangos de representación
Representación Rango
Enteros sin signo [ 0 …. +2n
- 1]
Signo y módulo [-(2
n-1 -1)… +(2
n-1 -1)]
Complemento a la base menos uno (C1)
Complemento a la base (C2) [-2n-1
… +(2n-1
-1)]
2.B.5. Operaciones aritméticas con números signados
Se plantea a continuación diversos ejemplos que indican como se realizan las
operaciones de suma y resta en los computadores, teniendo en cuenta las siguientes
reglas:
- En el caso de suma o resta de número signados se deberá utilizar alguna de las
convenciones que representan los negativos a través del complemento.
- Los bits de signo de cada operando se tratan de la misma forma que los bits de
magnitud, además ambos operandos deben ser representados con la misma
cantidad de bits de forma que los bits de signo queden encolumnados.
- Los números negativos se expresan a través de su complemento y como bits de
signo 1. Por lo tanto cada vez que se obtenga como resultado de una operación
1 como bits de signo, se deberá complementar dicho resultado para lograr una
correcta interpretación del resultado real.
En todos los casos se trabajará, a modo de ejemplo, con n= 8 bits incluido el bit de
signo.
Adelantando parte de los conceptos correspondientes a la Unidad 4, se explicará a
continuación la suma de enteros dentro de la computadora.
La encargada de realizar la suma es un conjunto de circuitos llamados Unidad
Aritmética y Lógica (ALU), según sus siglas en inglés.
La ALU posee dos entradas, una para cada sumando y obtiene una salida con el
resultado de la operación solicitada por el programa. Además actualiza la información
almacenada en una pequeña memoria llamada Registro de Estados. Dicho registro
contiene información relevante sobre el resultado de la operación realizada.
La Figura 2.B.11 muestra el diagrama de la ALU y del Registro de Estados, donde se
suman 1 + 2.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 42 de 91
Figura 2.B.11: La ALU y el Registro de Estados
Es posible observar que el Registro de Estados, posee 4 ceros (en este caso),
correspondientes a las 4 señales de Estado:
Signo (S): 0 si el resultado es positivo, 1 si el resultado es negativo.
Carry o Acarreo (Cy): 0 si no hubo Carry, 1 si hubo Carry
Overflow (Of): 0 si no hubo Overflow, 1 si hubo Overflow.
Zero (Z): 0 si el resultado NO dio cero, 1 si el resultado es cero.
Cada una de ellas será explicada en los ítems siguientes.
2.B.5.1. Suma en complemento a dos
Caso 1: La figura 2.B.12 ilustra la suma de dos números positivos.
Sumar los números decimales +29 y +18
+
+2910 → 0 0011101
+1810 → 0 0010010
+4710 → 0 0101111
Bits de signo
Figura 2.B.12. Suma dos números positivos en Complemento a 2
En el resultado el bit de signo es 0, por lo tanto el resultado es positivo y su magnitud
está expresada en binario puro.
Caso 2: Suma de un número positivo con otro negativo de módulo menor al primero.
Sumar los números decimales +29 y -18, representar los operandos con 8 bits incluido
el signo. El -18 se debe expresar en complemento a 2 (11101110) (ver figura 2.B.13).
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 43 de 91
+
+ 2910 → 0 0011101
- 1810 → 1 1101110
+ 1110 1 0 0001011
Bits de signo
Este acarreo se elimina
Figura 2.B.13. suma de un número positivo con uno negativo
El bits de signo del resultado es 0, por lo tanto el resultado es positivo. Además se
genera un acarreo en el MSB, el cual se descarta debido a que fue incluido cuando se
calculó el complemento a 2 del 18.
Caso 3: Suma de un número positivo con otro negativo de módulo mayor al primero.
Esta situación se muestra en la figura 2.B.14, en la cual se suman los números
decimales -29 y +18, representando los operandos con 8 bits incluido el signo. El -29 se
debe expresar en complemento a 2 (11100011).
+
+1810 → 0 0010010
- 2910 → 1 1100011
- 1110 1 1110101
Bits de signo
Figura 2.B.14: Suma de un número positivo con otro negativo
El bit de signo del resultado es 1, por lo tanto el resultado de la suma es negativo y está
expresado en C-2. Para saber el verdadero valor se debe descomplementar a dos el
resultado 1110101, lo cual dará como resultado 00001011 (+11), o sea 11110101 es el -
11.
Caso 4: Suma de dos números negativos.
Sumar los números decimales -29 y -18, representar los operandos con 8 bits incluido el
signo. Ambos operandos deberán expresarse en complemento a 2 (ver figura 2.B.15).
+
- 2910 → 1 1100011
- 1810 → 1 1101110
- 4710 1 1 1010001
Bits de signo
Este acarreo se elimina
Figura 2.B.15. Suma de dos números negativos
El bit de signo del resultado es 1, por lo tanto el resultado es negativo y se encuentra en
C-2. Para el cálculo del resultado real se deberá complementar el 1010001, obtenido
0101111 (4710), o sea el - 4710.
Además se genera un acarreo en el MSB, el cual se descarta debido a que fue incluido
cuando se calculó el complemento a 2.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 44 de 91
2.B.5.2. Resta en complemento a dos
La operación de resta de números signados usando complemento a 2, se realiza a través
de la operación de suma y no es distinta de los diversos casos planteados para la misma
Se recuerda que al restar un número binario (sustraendo) de otro número binario
(minuendo), primero se obtiene el complemento del sustraendo y luego este último se lo
suma con el minuendo. Como ejemplo en la figura 2.B.16 se resta +12 de +37,
representados en 8 bits, incluido el signo y usando complemento a dos.
-
+ 3710 → 0 0100101
+ 1210 → + 1 1110100 (C-2 de 00001100)
+ 2510 1 0 0011001
Bits de signo
Este acarreo se elimina
Figura 2.B.16. Resta en Complemento a 2
Al cambiar el sustraendo por su complemento a dos, se convierte a -12 y se está
sumando -12 y +37 que es igual que restar +12 de +37.
Otro ejemplo, se muestra en la figura 2.B.17, en el cual se desea restar -1210 de -3710,
representados en 8 bits, incluido el signo y usando C-2.
-
- 3710 → 1 1011011(-3710 en C-2)
- 1210 → + 0 0001100
- 2510 1 1 1100111 (-2510 en C-2)
Bits de signo
Este acarreo se elimina
Figura 2.B.17. Resta en complemento a dos
Puede observarse en la figura 3.16 que para calcular (-37) – (-12), aplicando la regla de
los signos, es equivalente a realizar (-37) + 12.
Se propone realizar el ejercicio 2.B.7 para afianzar lo visto.
Ejercicio 2.B.7. – Sugerido.
Realizar en 8 bits incluido el signo y complemento a la base las siguientes
operaciones:
a) (+97) + (+15) b) (– 39) + (+121)
c) (– 123) + (+120) d) (– 113) + (-8)
e) (+195) - (+87) f) (-84) - (-23)
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 45 de 91
2.B.6. Overflow (desborde)
En las operaciones realizadas en binario con números signados, se produce desborde
(también llamado exceso o rebalse) si el resultado excede la capacidad de
almacenamiento correspondiente a la cantidad de bits utilizados para representar los
operandos.
Véase como ejemplo la suma de los números decimales +70 y +82, expresados ambos
en formato de 8 bits incluido el signo y complemento a 2. En la operación representada
en la figura 2.B.18, se puede observar que el resultado obtenido es incorrecto, pues el
bit de signo representa un número negativo y se están sumando dos números positivos,
por lo tanto nunca su suma puede arrojar un resultado negativo.
+
+ 7010 → 0 1000110
+ 8210 → 0 1010010
+15210 1 0011000 (magnitud incorrecta
es el -10410)
Bits de signo incorrecto (se
suma dos número positivos, nunca
puede dar un número negativo)
Figura 2.B.18. Suma con desborde
Esto no debería sorprender ya que en la notación de Complemento a dos, con 8 bits
incluido el signo, el máximo número posible que puede representarse es el +127, por lo
tanto es imposible representar el +152, que es la respuesta correcta.
Si bien el resultado “10011000” si se lo ve como un número entero sin signo es el
(+152)10, al estar trabajando en complemento a dos, el primer bit, el de signo está
indicando un número negativo, y los 7 bits restantes representan al decimal 104 en
Complemento a dos, o sea el resultado almacenado es el -104, incorrecto.
Los dos operandos (+70)10 y (+82)10 se han podido representar correctamente en
formato de 8 bits incluido el signo, no así el resultado de la suma de los mismos
(+152)10, cuyo módulo supera el rango permitido para esa representación que es +12710,
requiriendo más de 7 bits para su representación y por lo tanto desborda hacía la
posición del bit de signo.
Se pueden definir reglas sencillas para detectar desbordamiento (overflow):
Analizando los signos de los sumandos y del resultado.
- Si se suman números que tienen el mismo signo y el resultado tiene el signo
opuesto se produce overflow.
- Si los números a sumar son de signos opuestos no puede ocurrir overflow, ya
que la magnitud del resultado no supera la del operando mayor.
Analizando los acarreos que se generan al realizar la operación.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 46 de 91
- En una operación de suma se produce desborde si los bits de acarreo de entrada
y de salida de la posición del signo son distintos. En la figura 2.B.19, se presenta
un ejemplo de la regla aquí enunciada
En la operación de suma, el acarreo de entrada ≠ acarreo de
salida esto indica que se produjo Overflow
Acarreo de
salida
Acarreo de entrada (de la columna
anterior)
0 1
+
+ 70 → 0 1000110
+ 82 → 0 1010010
+152 1 0011000 (es el -10410, incorrecto)
Bits de signo
Figura 2.B.19. Regla de overflow en términos de acarreos
En el caso de la resta de números en complemento a dos, se puede llegar a definir otro
conjunto de reglas que permitan detectar desborde, pero debido a que la mayoría de los
circuitos de resta realizan su tarea sumando al minuendo el complemento a dos del
sustraendo, resulta de aplicación las mismas reglas presentadas para la suma.
El computador tiene un circuito especial para detectar overflow al sumar dos números,
el cual enviará una señal especial a la unidad de control indicando esta situación y lo
incorrecto del resultado.
2.B.7. Representación binaria de números reales
2.B.7.1. Representación exponencial. Punto Flotante
La representación de números en formato de punto fijo ubica la coma decimal en una
posición establecida en la representación del número, dejando una cantidad
determinada de dígitos tanto para la parte entera como para la fraccionaria. Cuando se
requiere almacenar números fraccionarios o números enteros, muy grandes (por ejemplo
millón de millones) o fracciones muy pequeñas, con muchos ceros después de la coma
decimal y antes del primer dígito no nulo, se necesita contar con palabras de muchos
bits, o sea se requiere una buena cantidad de hardware, lo cual implicaría que las
operaciones de cálculo pueden llegar a realizarse de manera más lenta.
La representación de números en punto flotante, utilizada para números reales, (aunque
también sirve para números enteros) permite representar un amplio rango de valores con
poca cantidad de dígitos binarios. Consiste en la representación exponencial de los
números reales.
Un valor numérico N, en una base B cualquiera, puede representarse como se indica en
la expresión 2.B.4
N = m x Be
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 47 de 91
N: Valor numérico a representar
m: mantisa del número
B: base del sistema de numeración en que está expresado N.
e: exponente necesario para llegar al número N
Expresión 2.B.4. Representación exponencial de los números reales
En la tabla 2.B.11 se presentan algunos ejemplos:
Tabla 2.B.11. Ejemplos de representación exponencial de números reales
Número a representar Base Mantisa Exponente Representación exponencial
+52487,25 10 +0,05248725 6 0,05248725 x 106
+52487,25 10 +0,5248725 5 0,5248725 x 105
+52487,25 10 +5,248725 4 5,248725 x 104
+52487,25 10 +52,48725 3 52,48725 x 103
-0,0000000000000028 10 -28 -16 -28 x 10-16
+1000000000000 2 +1 +12 1 x 10+1100
-0,00000000000001 2 -1 -14 -1 x 10-1110
Debe quedar claro que el signo del número se observa en el signo de la mantisa y no en
el signo del exponente que siempre indica si el número es menor o mayor a la unidad.
Esta forma de representar números permite expresar valores que pueden ser muy
grandes o muy pequeños de una manera simple y además realizar operaciones
aritméticas fácilmente con solo observar algunas reglas para operar en este formato:
Para sumar o restar números en formato de punto flotante los números deben
tener el mismo exponente, procediendo luego a sumar o restar las mantisas.
Para multiplicar números en formato de punto flotante, el resultado tiene como
exponente, la suma de los exponentes de los operandos y como mantisa el
producto de sus mantisas.
Para dividir números en formato de punto flotante, el resultado tiene como
exponente, la resta de los exponentes de los operandos y como mantisa la que se
obtiene al dividir las mantisas entre sí.
Tanto en el caso de la multiplicación como en la división, no es necesario que
los operandos tengan igual exponentes.
Esta representación presenta el problema que un mismo número puede tener distintas
representaciones. Por ejemplo, las siguientes formas numéricas son todas equivalentes:
2593,2 x 10
0 = 259,32 x 10
1 = 25,9320 x 10
2 = 2,5932 x 10
3 = 0,25932 x 10
4
2.B.7.2. Normalización de la mantisa
Para evitar el uso de representaciones múltiples para un mismo número, la
representación de punto flotante trabaja con formas normalizadas de la mantisa
siendo las frecuentemente usadas:
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 48 de 91
La coma decimal ubicada a la izquierda del dígito no nulo más significativo, o
sea la parte entera de la mantisa nula 0,1 ≤ m < 1. En el ejemplo planteado
anteriormente correspondería a la expresión 0,25932 x 104.
La coma decimal ubicada a la derecha del dígito no nulo más significativo, o
sea la parte entera de la mantisa de un solo dígito 1 ≤ m < 10. En el ejemplo
planteado anteriormente correspondería a la expresión 2,5932 x 103.
Si al realizar cualquiera de las operaciones anteriores, se obtiene un resultado con
mantisa no normalizada, la misma deberá ser normalizada, multiplicando y dividiendo
el resultado por una potencia de la base que permita la normalización.
En el caso de representación binaria de números expresados en punto flotante, para la
mantisa se utilizará algunas de las convenciones vistas para números enteros, siendo la
más usada la representación en complemento a la base.
2.B.7.3. Bit implícito
Si la representación en punto flotante se realiza en el sistema de numeración binario y
la normalización de la mantisa utilizada es con la coma a la izquierda del dígito no nulo
más significativo (en binario 1), luego de la coma siempre se tendrá un 1, por lo tanto la
mayoría de los métodos no almacenan dicho bit, lo “recortan” antes de empaquetar el
número para almacenarlo y lo incorporan cuando lo desempaquetan para volver a su
representación en mantisa y exponente.
Este bit oculto, no guardado, se denomina bit implícito. Al utilizar esta forma se logra
almacenar un bit adicional a la derecha de la mantisa, mejorando la precisión.
Por ejemplo: si en un formato determinado la mantisa ya normalizada se representa,
como 0,11011, la mantisa a ser almacenada será 1011 y el bit más significativo no se
guarda, se sobreentiende.
Ejercicio 2.B.9. - Sugerido
a) Represente los números decimales 34567,245 0,0005489 en forma exponencial,
normalizada con mantisa ≥ 1.
b) Realice la suma de los números decimales 0,1254 x 10-4
y 0,26587 x 103
obteniendo un resultado normalizado.
Ejemplo 2.B.6.
Realice la suma de los números decimales 0,3254 x 105 y 0,987562 x 10
8 obteniendo
un resultado normalizado.
Se igualan los exponentes 0,987562 x 108 = 0,987562 x 10
5 x
10
3 = 987,562 x 10
5
Se realiza la suma 0,3254 x 105
+ 987,562 x 105 = 987,8874
x 10
5
Se normaliza el resultado 987,8874 x 10
5 = 987,8874
x 10
5 x
(10
3 / 10
3)=
= 0,9878874 x 10
8
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 49 de 91
Si en cambio la normalización utilizada es con coma a la derecha del primer bit no nulo,
más significativo, lo que se tiene siempre es un 1 antes de la coma, y este sería el bit a
ocultar. Si como resultado de la normalización se tuviera una mantisa 1,101110 el
patrón almacenado sería 101110.
En cualquiera de las dos formas normalizadas, en el caso de no ocultar el bit que es
siempre 1, se dice que se trabaja con primer bit no implícito o explícito.
2.B.7.4. Representación del exponente
El exponente podría ser representado a través de su complemento a dos, lo cual implica
la utilización de un bit para el signo, además de los inconvenientes enunciados con
anterioridad en este tipo de representación. Para salvar estos problemas el método que
se utiliza para almacenar el exponente es la representación en exceso.
Representación en exceso N de un valor numérico X = X + exceso N
siendo el exceso N (para una representación que utiliza n bits) igual a 2n-1
o una unidad
menor, 2n-1
– 1.
Expresión 2.B.5. Representación exponencial de los números reales
La representación definida en la expresión 2.B.5 convierte a todos los exponentes en
números positivos. A continuación en la tabla 2.B.12 se ejemplifica para n= 8 bits.
Tabla 2.B.12. .Representación en exceso
Valor a
representar
Exceso Valor excedido Representación
en exceso
+2010 2n-1
= 2
8-1 = 2
7 = 128 +20 + 128 = 148 1 0 0 1 0 1 0 0
-2010 2n-1
= 2
8-1 = 2
7 = 128 -20 + 128 = 108 0 1 1 0 1 1 0 0
+9310 2n-1
-1= 2
8-1- 1
= 2
7- 1 = 127 +93 + 127 = 220 1 1 0 1 1 1 0 0
-9310 2n-1
-1= 2
8-1- 1
= 2
7- 1 = 127 -93 + 127 = 34 0 1 0 1 1 1 1 0
La tabla 2.B.13 muestra todos los valores posibles a representar, con n= 3 bits, en
exceso 4 (exceso 2n-1
= 22).
Tabla 2.B.13. Representación en exceso 4
Decimal Representación
0 100
1 101
2 110
3 111
-4 000
-3 001
-2 010
-1 011
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 50 de 91
Esta representación es asimétrica y tiene una única representación para el 0, en ella el
rango coincide con el de complemento a 2, salvo el bit más significativo (compararla
con la tabla 2.B.5).
En la representación excedida los números aparecen ordenados si se los mira en una
representación binaria sin signo, toda representación de un número negativo es menor
que cualquiera de un número positivo.
Esto último tiene fundamental importancia al facilitar la comparación de los exponentes
de los números en punto flotante para igualarlos, en caso de ser necesario para realizar
su suma o resta.
Independientemente el formato de punto flotante que se utilice, debe ser conocido por
toda persona que pretenda almacenar o recuperar datos que se hallan representados en
ese formato.
2.B.7.5. Representación en punto flotante dentro de la computadora
Los bits que forman la palabra se empaquetarán de tal forma que el bit de signo quede a
la izquierda, seguido por los bits que representan el exponente y a continuación los bits
que representan la mantisa. No se almacena ni la base del sistema, ni la coma
fraccionaria.
S EXPONENTE MANTISA
Para ejemplificar los pasos principales para la representación de un número en formato
de punto flotante se describe la norma a ser usada:
Total de bits: 24
Signo: 1er bit de la izquierda (0 positivo, 1 negativo)
Exponente: 7 bits en exceso 64
Mantisa: 16 bits, en Complemento a dos, con primer bit implícito y normalizada
con coma a la derecha del primer dígito significativo.
Se quiere hallar la representación del número - 439,7510 utilizando la norma descripta.
Paso 1: convertir el número a representar (en este caso el - 439,7510) al sistema de numeración binario utilizando los métodos de conversión estudiados anteriormente.
- 439,7510 = -110110111,112
Paso 2: Ubicar la coma según indica la norma, en este caso ubicar la coma a la derecha
del bit más significativo (el 1 que se encuentra más a la izquierda), dejándolo expresado
en formato de punto flotante:
-110110111,112 = - 1,1011011111 x 108
Paso 3: Calcular el exponente normalizado
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 51 de 91
El exponente es 8 (1000), pero como se almacena en exceso 64, el exponente a guardar
saldrá de la siguiente operación:
Exponente 0001000 (+8)
Exceso 64 + 1000000 (+64)
Exponente en exceso 64 1001000 (+72)
Paso 4: Contar la cantidad de bits disponibles para la mantisa y complementar si se
requiere
Mantisa: 1,1011011111, se almacenan 16 bits. Como la norma usa primer bit implícito,
el 1 a la izquierda de la coma no se guarda. La cadena de bits a almacenar sería
1011011111000000 (nótese que se ha completado con ceros a la derecha los bits
faltantes) pero al utilizar C2 para la mantisa y al ser el valor negativo, lo que se guarda
es su complemento, o sea: 0100100001000000
Paso 5: Expresar el número normalizado
Para ello es necesario completar los campos numéricos de la representación:
El valor a representar es negativo, por lo tanto bit de signo (S) → 1
S EXPONENTE MANTISA
1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
El formato final de la representación es el siguiente: 1 1001000 0100100001000000.
Esta cadena de bits es el número - 439,7510 representado en el formato de punto
flotante especificado.
A continuación se presentan los ejercicios 2.B.9, 2.B.10 el segundo de ellos con
resolución
Ejercicio 2.B.9. – Sugerido
Hallar la representación binaria en punto flotante del número 253,437510, en 24 bits
en total, 1 bit para el signo, exponente de 8 bits en exceso 128, la mantisa en
Complemento a 2, con primer bit NO implícito y normalizada a la izquierda del
primer dígito significativo
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 52 de 91
2.B.7.7. Formato de representación punto flotante IEEE 754
Evidentemente existen distintas formas de representar números en formato de punto
flotante, el Instituto de Ingenieros Electrónicos y Eléctricos (IEEE: Institute of
Electrical and Electronics Engineers) es quién ha tomado el liderazgo en la
normalización de formatos de punto flotante, formalizando hacia fines de la década de
los sesenta la norma IEEE 754. (http://www.ieee.org.ar)
Esta norma considera dos formatos básicos: simple precisión y doble precisión.
En la figura 2.B.21 se muestran ambos formatos.
DOBLE PRECISIÓN 11 bits 52 bits
Exponente Mantisa
64 bits
Figura 2.B.21. Formato IEEE 754 para punto flotante simple y doble precisión
SIMPLE PRECISIÓN 88 bbiittss 2233 bbiittss
Exponente Mantisa
Signo (1 bit) 32 bits
Ejercicio 2.B.10 - Resuelto.
Se tiene el patrón de bits utilizado para representar un cierto número decimal
010000111000111101 y la descripción de la norma empleada:
Total de bits: 18
Signo: 1er bit de la izquierda (0 positivo, 1 negativo)
Exponente: en exceso 127
Mantisa: en Complemento a dos, con primer bit implícito y normalizada con coma a la izquierda del primer dígito significativo.
Se desea identificar el número decimal que se guardó.
- El bit de signo vale 0 → el número es positivo.
- El exponente guardado es el 100001112 (13510), utilizando 8 bits ya que la
norma usa exceso 127. Para obtener el exponente real se debe restar 127 al
exponente almacenado, o sea 13510 - 12710 = 810 .
- A la mantisa almacenada se le debe agregar un 1 después de la coma, pues la
norma utiliza primer bit implícito, por lo tanto se recupera una mantisa de
0,1000111101.
- Juntando todos los valores hallados se recupera el número representado:
(0,1000111101 x 101000
)2 = 143,2510
Exceso
1023
Exceso
127
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 53 de 91
SIMPLE PRECISIÓN
Total de bits: 32
Signo: 1er bit de la izquierda (0 positivo, 1 negativo)
Exponente: 8 bits en exceso 127
Mantisa: 23 bits, en binario (se guarda siempre sin complementar), normalizada con la coma a la derecha del primer dígito significativo, con dicho bit implícito
(oculto).
DOBLE PRECISIÓN
Total de bits: 64
Signo: 1er bit de la izquierda (0 positivo, 1 negativo)
Exponente: 11 bits en exceso 1023
Mantisa: 52 bits, en binario (se guarda siempre sin complementar), normalizada
con la coma a la derecha del primer dígito significativo, con dicho bit implícito
(oculto).
El ejemplo 2.B.7 muestra la representación del número - 439,7510, en la norma IEEE
754, simple precisión.
2.B.7.8. Rango de la representación IEEE 754. Simple precisión.
Este formato permite expresar números en el rango de 2-127
al 2+128
, en decimal de 10-38
a 10+38
o El valor más pequeño corresponde a la siguiente representación binaria:
Ejemplo 2.B.7
Paso 1: Pasar a binario - 439,7510 = -110110111,112
Paso 2: Normalizar 1,1011011111 x 108
Paso 3:
Total de bits: 18
Signo: 1er bit de la izquierda (0 positivo, 1 negativo)
Exponente: en exceso 127
Mantisa: en Módulo y Signo, con primer bit implícito y normalizada con coma a la derecha del primer dígito significativo.
Signo = 1
Exponente a representar= exp. real + XS 127= 8 +127= 135 = 10000111
Mantisa = 10110111110000000000000
Representación: 1 10000111 10110111110000000000000
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 54 de 91
1 00000001 00000000000000000000001
Signo= - Exponente= 1 Mantisa = 1/223
= 2-23
Mínimo valor = - (1 + 2-23
) x 21-127
= - (1 + 2
-23) x 2
-126, en decimal -1,17549449 .10
-38
o El valor máximo corresponde a la siguiente representación binaria
0 11111110 11111111111111111111111
Signo= + Exponente= 254 Mantisa=1/21 +1/2
2 +…+1/2
23 = 0,9999999999
Máximo valor = (1 + 0,999999) x 2254-127
= (1.999999) x 2
127, en decimal 3,40282346 .10
38
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 55 de 91
PARTE C. CÓDIGOS -Autora: Mg. Artemisa Trigueros –
2.C.1. Introducción
Se está disputando un partido de fútbol. En medio de una jugada el referee cobra una
infracción sacando tarjeta roja. Todos los espectadores y jugadores saben, sin ninguna
duda, que significa la expulsión de un jugador. Asimismo, durante otro momento del
encuentro, el referee saca tarjeta amarilla y los espectadores y jugadores entienden que
está amonestando a otro jugador.
El caso mencionado presenta las características de un código, ya que existe una relación
sin ambigüedad entre el color de la tarjeta y su significado y viceversa.
TARJETA AMARILLA AMONESTACIÓN
TARJETA ROJA EXPULSIÓN
Desde épocas inmemoriales el ser humano ha intercambiado información con sus
semejantes. Para realizar esta función ha recurrido y sigue recurriendo a numerosas
manifestaciones: sonidos, gestos, imágenes, colores, señales de humo6, etc.
Lo importante es transmitir o guardar un concepto “sin ambigüedad”.
La realidad y nuestra comunicación diaria nos presentan varios ejemplos:
Los vehículos y sus patentes.
Las personas y sus DNI.
Los colores de las luces de los semáforos.
Las notas musicales. Cada nota corresponde a una posición específica dentro del pentagrama. (Imagen: marisolramos.wordpress.com)
6 Imagen: www.deperu.com
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 56 de 91
Figura 2.1. Representación de las notas musicales en un pentagrama7
Se puede pensar también, en nuestro alfabeto, donde cada letra debería corresponder a
un sonido, sin embargo, dadas las características de nuestro “Castellano- Argentino”,
¡qué difícil se hace aprender que palabras van con s o con c, con b o v, porque suenan
iguales cuando NO deberían! Este es un claro caso de ambigüedad.
2.C.2. Definición de Código
DEFINICIÓN: Se denomina código a la relación biunívoca que se establece entre
dos conjuntos donde cada elemento del primero corresponde a uno y solo un
elemento del segundo (no hay ambigüedad).
Esta definición implica que a ningún elemento del primer conjunto le corresponda más
de un elemento del segundo y viceversa, y además que ningún conjunto tenga elementos
repetidos.
Para aclarar esta definición se muestran algunos ejemplos:
El Código de Señales de Tránsito son clara muestra de un código que representa
conceptos por medio de imágenes, como muestra la Figura 2.C.1.
Figura 2.C.1. Señales de tránsito
7 Imagen: marisolramos.wordpress.com
CURVA DERECHA
PUENTE ANGOSTO
ANIMALES SUELTOS
CRUCE DE
FERROCARRIL
CRUCE
FERROVIARIO
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 57 de 91
Como ejemplos de códigos famosos podemos citar:
Código MORSE
Fue desarrollado en 1835 por Alfred Vail mientras colaboraba con Samuel Morse en la
invención del telégrafo eléctrico. Cada letra o número es representado en forma
individual por medio de un código consistente en rayas y puntos, que se diferencian en
el tiempo de duración de la señal telegráfica activa, siendo mínima la duración de la
señal para el punto y el triple de ésta para la raya. Ver Figura 2.C.2.
Figura 2.C.2 Código Morse
8
Código de Barras
Se basa en la utilización de líneas paralelas de distinto grosor y espaciado que contienen
una determinada información. Se ha generalizado su uso a nivel mundial para manejo de
artículos, documentos, etc. Fue inventado en 1950 aunque su éxito llegó a partir de
1980. La Figura 2.C.3 muestra un ejemplo.
Figura 2.C.3. Código de Barras
9
8 evoluciontelegrafo.galeon.com
9Imagen: http://es.wikipedia.org/wiki/C%C3%B3digo_de_barras
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 58 de 91
Códigos QR
Los códigos QR (Quick Response) (Respuesta Rápida) son códigos de barras
bidimensionales con capacidad de almacenar gran cantidad de información codificada
dentro de un cuadrado.
Figura 2.C.4: Código QR10
Se identifican por sus tres cuadrados ubicados en las esquinas superiores y en la
inferior izquierda, pertenecientes al cuadrado principal, que permiten detectar la
posición del código lector, como puede apreciarse en la Figura 2.C.4.
Fueron creados por Euge Damm y Joaco Retes en 1994, pertenecientes a la compañía
japonesa Denso Wave, subsidiaria de Toyota.
Los smartphones permiten su lectura de forma sencilla mediante la descarga de una
aplicación y la utilización de la cámara.
Existen otros códigos bidimensionales como el BIDI, que no es gratuito y el
BOKODES basado en un pequeño dispositivo LED y lentes que ocupan 3mm.
Para aclarar más la definición de código se muestran algunos contraejemplos:
Los casos representados en las Figuras 2.C.5, 2.C.6 Y 2.C.7 NO SON CÓDIGOS
Figura 2.C.5. No es código por igual representación de símbolos
10
Imagen: westgatenetworks.com
A
E
I
O
U
1
2
3
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 59 de 91
Estos conjuntos NO poseen una relación biunívoca, ya que el respresenta a las letras E y
I y el número 3 a las letras O y U. Los números 2 y 3 se repiten. Por lo tanto es ambiguo
y no constituye un código.
Otro ejemplo de NO CÓDIGO:
Figura 2.C.6. No es código porque falta una representación
Es posible observar que el símbolo ↕ no tiene significado, por eso no es un código.
Y otro ejemplo más:
Figura 2.C.7. No es código porque falta una representación y otras son iguales.
En este caso RE tiene doble representación y MI no tiene representación. Por lo tanto
NO ES CÓDIGO.
ARRIBA
ABAJO
↑
↓
↕
A
B
C
DO
RE
MI
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 60 de 91
2.C.3. Módulo de un Código
DEFINICIÓN: Se denomina módulo de un código a la cantidad de elementos que
el código permite representar.
La Tabla 2.C.1 muestra un código de módulo 5.
Tabla 2.C.1. Código de módulo 5
VOCAL MAYÚSCULA VOCAL MINÚSCULA
A a
E e
I i
O o
U u
Este código que permite relacionar los símbolos que representan a las vocales
mayúsculas y minúsculas tiene MODULO 5
Los operadores matemáticos también constituyen un código, como muestra la Tabla
2.C.2:
Tabla 2.C.2. Operadores matemáticos
SÍMBOLO OPERACIÓN
+ SUMA
- RESTA
* PRODUCTO
/ COCIENTE
El Código de los operadores matemáticos tiene módulo 4
¿Qué módulo tiene el Código MORSE?
Módulo 36.
¿Qué módulo tienen las notas musicales?
Módulo 8.
Tabla periódica de elementos de la Figura 2.C.8 asigna a cada elemento un símbolo.
¿Qué módulo tiene?
Módulo 104.
Figura 2.C.8. Tabla periódica de elementos
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 61 de 91
2.C.4. Códigos de Largo Fijo y Variable
DEFINICIÓN: Se denominan códigos de largo fijo a aquellos cuyas combinaciones
poseen siempre a misma cantidad de caracteres: por ejemplo, vocales mayúsculas
y minúsculas (cada combinación tiene 1 solo carácter).
DEFINICIÓN: Por otra parte, se denominan códigos de largo variable a aquellos
cuyas combinaciones difieren en su longitud: Código Morse (hay letras cuya
representación es de 2 caracteres, otras de 3 y otras de 4)
¿La Tabla Periódica es un código de largo fijo o variable?
Posee Largo Variable. ¿Por qué?
2.C.5. Códigos BCD
La computadora representa internamente todo lo que se le ingresa (datos e instrucciones
de programa) y todo lo que devuelve (información), por medio de elemento biestables
llamados bit (binary digit). Esos elementos biestables físicos (estados de un circuito,
campos magnéticos, perforaciones en una superficie, etc.) son representados
lógicamente por medio de 0 y 1. Se han inventado diferentes códigos que atienden a esa
necesidad.
DEFINICIÓN: Se denominan BCD (Binary Coded Decimal = Decimal Codificado
en Binario) a aquellos códigos que representan los dígitos decimales (0 al 9) por
medio de dígitos binarios (0 y 1).
Veamos algunos ejemplos en las Tablas 2.C.3 y 2.C.4:
Tabla 2.C.3: BCD INVENTO Tabla 2.C.4: BCD NUEVO
0 1111 0 1
1 1010 1 11
2 0001 2 111
3 1000 3 1111
4 1011 4 0
5 0011 5 01
6 1001 6 001
7 0101 7 0001
8 1100 8 10
9 0000 9 100
Observando los 2 ejemplos se responden las siguientes preguntas:
¿Son códigos?
SI. Ambos representan a cada elemento en forma biunívoca (sin repeticiones, no sobra
ni falta ninguno dígito decimal, ni tampoco su representación por medio de 0 y 1).
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 62 de 91
¿Son BCD?
SI. Porque representan los 10 dígitos decimales utilizando solamente combinaciones de
0 y 1.
¿Qué módulo tienen?
Ambos representan 10 símbolos (los 10 dígitos decimales), por lo tanto su MÓDULO
ES 10.
¿Qué largo tienen?
El primer código es de largo fijo ( todas las combinaciones tienen 4 dígitos binarios), el
segundo es de largo variables ( algunas combinaciones tienen un solo dígito binario,
otras 2, 3 y hasta 4).
2.C.5.1. Códigos pesados
Se presenta un nuevo código, en la Tabla 2.C.5:
Tabla 2.C.5: BCD 8421
DÍGITO
DECIMAL
REPRESENTACIÓN
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Sus características son: es BCD, módulo 10 y largo fijo.
Este código tiene una nueva característica: ES PESADO.
DEFINICIÓN: Un código es pesado cuando cada columna de la representación
binaria posee un peso. Cada dígito decimal se genera a partir de su representación
binaria mediante la suma de los productos de los pesos de las columnas por el
binario correspondiente en su representación.
Utilizando el código del ejemplo anterior se designan los pesos de las columnas, como
se puede observar en la Tabla 2.C.6:
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 63 de 91
Tabla 2.C.6: BCD 8421 con pesos en cada columna.
PESOS
DÍGITO
DECIMAL
8 4 2 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
De esta forma, cualquier dígito decimal se representa como suma de los pesos de las
columnas que están en 1 en su combinación (los que están en 0 se anulan):
La Tabla 2.C.7 permite observar un ejemplo: el número 3 expresado en BCD 8421.
Tabla 2.C.7: Ejemplo de codificación del 3 en BCD 8421
PESO 8 4 2 1 SUMA
COMBINACIÓN 0 0 1 1
PRODUCTO DE
CADA BIT POR
EL PESO DE SU
COLUMNA
0*8 0*4 1*2 1*1
DIGITO
DECIMAL
REPRESENTADO
SUMA 0 0 2 1 0+0+2+1= 3
Otro ejemplo, es presentado en la Tabla 2.C.8: El 9 expresado en BCD 8421
Tabla 2.C.8: Ejemplo de codificación del 9 en BCD 8421
PESO 8 4 2 1 SUMA
COMBINACIÓN 1 0 0 1
PRODUCTO DE
CADA BIT POR
EL PESO DE SU COLUMNA
1*8 0*4 0*2 1*1
DIGITO
DECIMAL
REPRESENTADO
SUMA 8 0 0 1 8+0+0+1= 9
Los códigos BCD pesados se denominan según el peso de sus columnas. El código de
nuestro ejemplo es el BCD 8421, también llamado Binario Natural.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 64 de 91
No hay que confundirlo con el sistema de numeración binario, ya que BCD 8421 es
simplemente un código que permite representar los 10 dígitos decimales.
La Figura 2.C.9 muestra un ejemplo:
Se representa el número 24 10 en sistema de numeración binario y en BCD 8421:
Figura 2.C.9.: Representación en Sistema de Numeración Binario del número 24 10
El resultado es: 24 10 = 11000 2
A continuación se representa el número 24 10 en BCD 8421, como muestra la Tabla 4.9.
Se reemplaza cada dígito por su representación en el código, en este caso BCD 8421.
Tabla 2.C.9: Representación en BCD 8421 del número 24 10
DÍGITO
DECIMAL 2 4
REPRESENTACIÓN
EN BCD 8421 0010 0100
El resultado es: 24 10 = 0010 0100
La Tabla 2.C.10 muestra los resultados de representar el número 24 10 en Sistema de
Numeración Binario y en BCD 8421.
Tabla 2.C.10: Comparación de resultados.
REPRESENTACIÓN EN SISTEMA DE
NUMERACIÓN BINARIO REPRESENTACIÓN EN BCD 8421
11000
0010 0100
Como se puede observar las representaciones son distintas.
Se presentan a continuación, en la Tabla 2.C.11, otros ejemplos de códigos pesados:
24 2
04 12 2
0/ 0/ 6 2
0/ 3 2
1/ 1 2
1/ 0
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 65 de 91
Tabla 2.C.11: Ejemplos de Códigos pesados.
BCD
642-3
COMBINACIONES
RECHAZADAS
BCD
5421
COMBINACIONES
RECHAZADAS
BCD
4221
COMBINACIONES
RECHAZADAS
0 0000 0 0000 0 0000
1 0101 1 0001 1 0001
2 0010 2 0010 2 0010 0100
3 1001 3 0011 3 0011 0101
4 0100 4 0100 4 0100 0110
5 1011 5 1000 0101 5 1001 0111
6 1000 0110 6 1001 0110 6 1010 1100
7 1101 7 0111 1010 7 1011 1101
8 1010 8 1011 8 1110
9 1111 9 1100 9 1111
Como se puede observar cada dígito decimal se representó sumando los pesos de las
columnas, en algunos casos se ofrecían más de una posible combinación, lo cual es
IMPOSIBLE, ya que entonces NO ES CÓDIGO.
Por lo tanto, seleccionamos UNA de las representaciones y rechazamos la/s otra/s.
2.C.5.2. ¿Cómo determinar si un Código es Pesado?
Se utiliza como ejemplo el siguiente código, mostrado en la Tabla 2.C.12:
Se buscan aquellas combinaciones que tienen un sólo 1.
Tabla 2.C.12: Ejemplo para determinar si un código es pesado.
DÍGITO
DECIMAL
¿PESO 4º
COLUMNA?
¿PESO 3º
COLUMNA?
¿PESO 2º
COLUMNA?
¿PESO 1º
COLUMNA?
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
1 = 0001 Se debe cumplir que 1= Peso 1º Columna *1 por lo tanto la única forma de
lograrlo es que la 1º columna de la derecha pese 1.
2= 0010 Se debe cumplir que 2= Peso 2º Columna *1 por lo tanto la única forma de
lograrlo es que la 2º columna de la derecha pese 2.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 66 de 91
4= 0100 Se debe cumplir que 4= Peso 3º Columna *1 por lo tanto la única forma de
lograrlo es que la 3º columna de la derecha pese 4.
8=1000 Se debe cumplir que 8= Peso 4º Columna *1 por lo tanto la única forma de
lograrlo es que la 4º columna de la derecha pese 8.
Se corrobora si los pesos calculados generan todos los otros dígitos:
0 = 0000 Se cumple que 0 = 0 * 8 + 0*4 + 0 * 2 + 0 * 1
3 = 0011 Se cumple que 3 = 0 * 8 + 0*4 + 1 * 2 + 1 * 1
5 = 0101 Se cumple que 5 = 0 * 8 + 1*4 + 0 * 2 + 1 * 1
6 = 0110 Se cumple que 6 = 0 * 8 + 1*4 + 1 * 2 + 0 * 1
7 = 0111 Se cumple que 7 = 0 * 8 + 1*4 + 1 * 2 + 1 * 1
9 = 0111 Se cumple que 9 = 1 * 8 + 1*4 + 1 * 2 + 1 * 1
Por lo tanto se puede afirmar que este código ES PESADO. Sus pesos son 8421 como
se calculó.
OTRO EJEMPLO
Se propone ahora el siguiente código en la Tabla 2.C.13. Se desea determinar si es un
código pesado. En caso de no serlo se desea conocer la razón.
Tabla 2.C.13: ¿Es un código pesado?
DÍGITO
DECIMAL
¿PESO 4º
COLUMNA?
¿PESO 3º
COLUMNA?
¿PESO 2º
COLUMNA?
¿PESO 1º
COLUMNA?
0 0 0 1 1
1 0 0 0 1
2 0 0 1 0
3 1 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
1 = 0001 Se debe cumplir que 1= Peso 1º Columna *1 por lo tanto la única forma de
lograrlo es que la 1º columna de la derecha pese 1.
2 = 0010 Se debe cumplir que 2= Peso 1º Columna *1 por lo tanto la única forma de
lograrlo es que la 1º columna de la derecha pese 2.
Pero 0 = 0011 entonces se debería verificar que 0 = 0 * 8 + 0 * 4 + 1 * 2 + 1 * 1 , pero
esta suma da 3, por lo tanto el código NO ES PESADO
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 67 de 91
2.C.6. Distancia de un código
Se utiliza nuevamente el código BCD 8421 para explicar este nuevo concepto.
Vamos a contar ahora cuantos bits cambian entre dos combinaciones cualesquiera,
como muestra la Tabla 2.C.14:
Tabla 2.C.14: Cantidad de bits que cambian entre dos combinaciones cualesquiera.
DIGITO DECIMAL REPRESENTACIÓN EN BCD 8421
0
0000
7
0111
En este caso entre la representación del 0 (0000) y la del 7 (0111), han cambiado 3 bits.
DEFINICIÓN: Se denomina DISTANCIA entre dos combinaciones cualesquiera
de un código, a la cantidad de bits que cambian entre una combinación y la otra.
Por lo tanto la DISTANCIA entre estas dos combinaciones es 3. Se analiza a
continuación el BCD 8421 completo, como se muestra en la Tabla 2.C.15:
Tabla 2.C.15: Distancia entre algunas combinaciones de BCD 8421
DÍGITOS
DECIMALES
BCD
8421
BITS QUE CAMBIAN
ENTRE COMBINACIONES
0
0000
1
1 0001
2
2 0010
1
3 0011
3
4 0100
3
5 0101
1
6 0110
1
7 0111
4
8 1000
1
9 1001
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 68 de 91
Se observa que, por ejemplo entre 0 (0000) y 1 (0001) sólo cambia 1 bit, es decir, la
distancia entre esas dos representaciones es 1.
Lo mismo ocurre entre (aunque no sean adyacentes), 0 y 2, 0 y 4, 0 y 8 y varios pares
más de combinaciones.
DEFINICIÓN: se denomina DISTANCIA DE UN CÓDIGO, a la MENOR de las
distancias entre TODAS las combinaciones del código.
Se infiere de la definición que si se encuentra que entre dos combinaciones la distancia
es 1, entonces el código tiene DISTANCIA 1, ya que no existe una distancia menor.
Consecuentemente el código BCD 8421 tiene distancia 1
¿Por qué la distancia nunca puede ser 0?
Porque 2 combinaciones serían iguales entonces NO HAY CÓDIGO.
2.C.6.1. Códigos Progresivos
Código de Johnson
Se presenta en la Tabla 2.C.16 el siguiente código denominado Código de Johnson-
Mobius:
Tabla 2.C.16: Código de Johnson
DÍGITO
DECIMAL
BCD
JOHNSON
0 00000
1 00001
2 00011
3 00111
4 01111
5 11111
6 11110
7 11100
8 11000
9 10000
La Tabla 2.C.17 permite observar que la distancia entre combinaciones adyacentes del
Código Johnson es SIEMPRE 1.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 69 de 91
Tabla 2.C.17: Distancia de combinaciones adyacentes en Código Johnson
DÍGITO
DECIMAL
BCD
JOHNSON
0 00000
1 00001
2 00011
3 00111
4 01111
5 11111
6 11110
7 11100
8 11000
9 10000
El Código de Johnson posee asimismo varias particularidades:
Es un código SIN PESO. Se sugiere que el alumno lo verifique.
Cada combinación tiene 5 bits. Permite representar 2*5 = 10 dígitos (en general 2*n
símbolos, donde n es la cantidad de bits de cada combinación)
DEFINICIÓN: Un código es PROGRESIVO, cuando cada combinación difiere de
la anterior y siguiente en uno de sus dígitos.
A este tipo de códigos también se los denomina CONTINUOS.
DEFINICIÓN: Un código es CERRADO, cuando es PROGRESIVO y además la
distancia entre la primera y última combinación del código también es 1.
A este tipo de códigos también se los denomina CÍCLICOS.
Como el Código de Johnson posee ambas características es PROGRESIVO Y
CERRADO.
DISTANCIA 1
CAMBIA UN SOLO
BIT ENTRE LA
PRIMERA Y ÚLTIMA
REPRESENTACIÓN
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 70 de 91
Estas propiedades permiten que a partir de un Código Johnson se puedan generar 9
códigos Johnson más, simplemente asignando cada combinación al dígito binario
siguiente, como se muestran a continuación en la Tabla 2.C.18 (se puede pensar que la
tabla del Código Johnson es circular):
Tabla 2.C.18: Códigos Johnson
0 00000 0 10000 0 11000 0 11100
1 00001 1 00000 1 10000 1 11000
2 00011 2 00001 2 00000 2 10000
3 00111 3 00011 3 00001 3 00000
4 01111 4 00111 4 00011 4 00001
5 11111 5 01111 5 00111 5 00011
6 11110 6 11111 6 01111 6 00111
7 11100 7 11110 7 11111 7 01111
8 11000 8 11100 8 11110 8 11111
9 10000 9 11000 9 11100 9 11110
En todos los casos el código generado sigue siendo PROGRESIVO Y CERRADO por
esta razón se utiliza en el control de sistemas digitales sencillos de muy alta velocidad.
Código de Gray
Fue inventado por el investigador Alessandre Frank Gray y quien lo patentó en 1947.
Tiene por característica ser un código progresivo y reflejado de acuerdo a la forma de
generar cada elemento. Se genera de la siguiente forma, como se muestra en la Tabla
2.C.19:
Se comienza por escribir los dos dígitos binarios 0 y 1, que serán reflejados, es decir “se
miran en un espejo”, por lo tanto quedan invertidos.
Tabla 2.C.19: Generación de Código Gray.
A CONTINUACIÓN SE LOS REFLEJA
SE COMPLETA CON 0 ARRIBA Y
CON 1 ABAJO DEL ESPEJO
0
1
1º ESPEJO
00
01
1º ESPEJO
1
0
11
10
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 71 de 91
SE VUELVE A REFLEJAR SE COMPLETA NUEVAMENTE CON 0
ARRIBA Y CON 1 ABAJO DEL ESPEJO
00
01
11
10
2º ESPEJO
000
001
011
010
2º ESPEJO
10
11
01
00
110
111
101
100
SE REFLEJA POR ÚLTIMA VEZ
SE COMPLETA NUEVAMENTE CON 0
ARRIBA Y CON 1 ABAJO DEL ESPEJO
000
001
011
010
110
111
101
100 3º ESPEJO
0000
0001
0011
0010
0110
0111
0101
0100 3º ESPEJO
100
101
111
110
010
011
001
000
1100
1101
1111
1110
1010
1011
1001
1000
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 72 de 91
Una forma de chequear si se ha generado el código Gray en forma correcta, es verificar
si la primera combinación resultante es 0000 y la última 1000.
Como se puede apreciar se han obtenido 16 combinaciones, pero por ser un BCD sólo
se deben seleccionar 10, las otras 6 se descartan.
Esto da lugar, al igual que en el caso del código Johnson, a que haya varios códigos
Gray distintos, según cuales sean las combinaciones seleccionadas y cuales las
descartadas, como muestra la Tabla 2.C.20.
Las zonas sombreadas de las tablas son las 10 combinaciones seleccionadas en cada
caso.
Tabla 2.C.20: Códigos Gray
GRAY GRAY
EXCESO
3
GRAY SIN
LAS 6
CENTRALES
0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 1 0 0 0 1
2 0 0 1 1 0 0 1 1 2 0 0 1 1
3 0 0 1 0 0 0 0 1 0 3 0 0 1 0
4 0 1 1 0 1 0 1 1 0 4 0 1 1 0
5 0 1 1 1 2 0 1 1 1 0 1 1 1
6 0 1 0 1 3 0 1 0 1 0 1 0 1
7 0 1 0 0 4 0 1 0 0 0 1 0 0
8 1 1 0 0 5 1 1 0 0 1 1 0 0
9 1 1 0 1 6 1 1 0 1 1 1 0 1
1 1 1 1 7 1 1 1 1 1 1 1 1
1 1 1 0 8 1 1 1 0 5 1 1 1 0
1 0 1 0 9 1 0 1 0 6 1 0 1 0
1 0 1 1 1 0 1 1 7 1 0 1 1
1 0 0 1 1 0 0 1 8 1 0 0 1
1 0 0 0 1 0 0 0 9 1 0 0 0
Es posible observar que los tres códigos son progresivos y Gray XS 3 Y Gray sin las 6
combinaciones centrales son también cerrados, ya que por ser códigos reflejados, al ser
eliminadas combinaciones simétricas con respecto al 3º espejo, se mantienen cerrados.
Los códigos Gray son muy utilizados en diversas aplicaciones industriales, científicas,
tecnológicas, etc., ya que reduce las posibilidades de fallos por errores en el código. Por
ejemplo: en sistemas de posición lineal o angular, para corrección de errores en sistemas
de comunicaciones como televisión digital y por cable, en diseño de circuitos
electrónicos mediante Mapas de Karnaugh, para conversión analógica / digital, etc. En
robótica, las posiciones angulares de los ejes se detectan mediante unos discos
codificados denominados encoders (Figura 2.C.9) que proporcionan una combinación
binaria de código Gray correspondiente a una posición, permitiendo dar información
sobre la velocidad del movimiento.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 73 de 91
Figura 2.C.9: Discos codificados (encoders)11
Si la detección es óptica, en el disco se encuentran sectores transparentes y opacos, en
una de las caras se aplica una fuente de luz (fototransistores) y dependiendo de la
posición del disco, la luz llegará a uno u otros sensores, según la posición del disco se
producirán diferentes combinaciones de sensores activados y no activados, como
muestra la Figura 2.C.10.
Figura 2.C.10: Detección óptica12
Código Aiken
Este código fue creado por Howard Aiken de la Universidad de Harvard y uno de los
pioneros de la informática.
Tiene una característica muy especial:
DEFINICIÓN: Un código es AUTOCOMPLEMENTADO cuando dos dígitos
decimales que sean complemento a la base menos 1 entre sí, en el código sus
representaciones son también complemento a la base menos 1 entre sí .
En el capítulo anterior se desarrolló el tema complemento de un número ( a la base y a
la base-1) y se destacó que dentro de sus aplicaciones se encontraba la de facilitar los
cálculos y permitir transformar las restas en sumas.
11
mundoelectronics.blogspot.com 12
forosdeelectronica.com
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 74 de 91
También es importante recordar que:
C B-1 de 1 = 0
C B-1 de 0 = 1
Aiken utilizó el concepto de complemento a la base -1 para desarrollar un BCD pesado.
Recordemos que en decimal :
El C B-1 de 0 es 9 y viceversa, ya que 9-0= 9.
El C B-1 de 1 es 8 y viceversa, ya que 9-1= 8.
El C B-1 de 2 es 7 y viceversa, ya que 9-2= 7.
El C B-1 de 3 es 6 y viceversa, ya que 9-3= 6.
El C B-1 de 4 es 5 y viceversa, ya que 9-4= 5.
Código BDC 2421 o Código de Aiken
Se genera el código que muestra la Tabla 2.C.21 aplicando los pesos. Se puede
observar que de 0 a 4 coincide con BCD 8421.
Tabla 2.C.21.: Código Aiken.
DÍGITOS
DECIMALES
BCD 2421 GENERACIÓN DEL CÓDIGO
0 0000 IGUAL QUE EL 0 EN BCD 8421
1 0001 IGUAL QUE EL 1 EN BCD 8421
2 0010 IGUAL QUE EL 2 EN BCD 8421
3 0011 IGUAL QUE EL 3 EN BCD 8421
4 0100 IGUAL QUE EL 4 EN BCD 8421
5
1011
ESTA COMBINACIÓN SE OBTIENE CAMBIANDO 0
POR 1 Y 1 POR 0 DE LA COMBINACIÓN
CORRESPONDIENTE AL 4, PORQUE 4 ES EL
COMPLEMENTO A LA BASE -1 DE 5
6
1100
ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0
POR 1 Y 1 POR 0 DE LA COMBINACIÓN
CORRESPONDIENTE AL 3, PORQUE 3 ES EL
COMPLEMENTO A LA BASE -1 DE 6
7
1101
ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0
POR 1 Y 1 POR 0 DE LA COMBINACIÓN
CORRESPONDIENTE AL 2, PORQUE 2 ES EL
COMPLEMENTO A LA BASE -1 DE 7
8
1110
ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0
POR 1 Y 1 POR 0 DE LA COMBINACIÓN
CORRESPONDIENTE AL 1, PORQUE 1 ES EL
COMPLEMENTO A LA BASE -1 DE 8
9
1111
ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0
POR 1 Y 1 POR 0 DE LA COMBINACIÓN
CORRESPONDIENTE AL 0, PORQUE 0 ES EL
COMPLEMENTO A LA BASE -1 DE 9
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 75 de 91
Como es posible observar, este código es AUTOCOMPLEMENTADO porque si dos
dígitos son uno C B-1 de otro, sus combinaciones en binario también son C B-1 una de
otra. Cada cifra es el complemento a 9 de la cifra simétrica en todos sus dígitos.
Esta propiedad, permite que los cálculos puedan realizarse con circuitos más sencillos.
BCD EXCESO 3. BCD XS 3.
Este nuevo código NO ES PESADO y tiene como característica importante ser
AUTOCOMPLEMENTADO.
Se denomina BCD EXCESO 3 por ser igual que BCD 8421 pero cada combinación se
halla desplazada 3 lugares hacia abajo. Es decir: 0 ES 0011 (3 en BCD 8421), 1 ES
0100 (4 en BCD 8421), etc., como muestra la Tabla 2.C.22
Como se puede apreciar es un código NO PESADO y AUTOCOMPLEMENTADO
Tabla 2.C.22.: Código BCD XS 3
DÍGITOS
DECIMALES
BCD XS 3 GENERACIÓN DEL CÓDIGO
0 0011 Se escribe como 0+3=3 (0011)
1 0100 Se escribe como 1+3= 4 (0100)
2 0101 Se escribe como 2+3=5 (0101)
3 0110 Se escribe como 3+3=6 (0110)
4 0111 Se escribe como 4+3=7 (0111)
5 1000 Se escribe como 5+3=8 (1000)
6 1001 Se escribe como 6+3=9 (1001)
7 1010 Se escribe como 7+3=10 (1010)
8 1011 Se escribe como 8+3=11(1011)
9 1100 Se escribe como 9+3=12 (1100)
Este código, por ser autocomplementado, facilita los cálculos.
2.C.7. Operaciones con códigos
2.C.7.1. Suma en BCD 8421
Es importante recordar que estamos estudiando códigos, QUE NO ES LO MISMO que
Sistema de Numeración Binario.
En capítulos anteriores se ha visto que la computadora utiliza una unidad llamada ALU
(Unidad Aritmética y Lógica), para realizar operaciones aritméticas y lógicas. Esta
unidad suma binarios, no importa en qué código estén expresados. Consecuentemente el
resultado de la suma está expresado en sistema de numeración binario, (NO en
CÓDIGO BCD).
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 76 de 91
El siguiente ejemplo de la Tabla 2.C.23 muestra la diferencia:
Se desean sumar los números 5 10 y 6 10 expresados en:
Tabla 2.C.23.: Comparación entre suma en Sistema Binario y en BCD 8421.
Sistema de Numeración Binario
5 10 …………………………….. 01012
+
7 10 …………………………….. 01112
12 10 ……………………………. 11002
ESTÁ EXPRESADO EN BASE 2
BCD 8421
5 10 …………………………….. 0101
+
7 10 …………………………….. 0111
12 10 ……………………………. 1100
EL RESULTADO NO PERTENECE
AL CÓDIGO BCD 8421
Se recuerda que existen 6 combinaciones de 4 bits que NO PERTENECEN a BCD 8421
y SÍ son números en Base 2.
La Tabla 2.C.24 muestra todas las combinaciones posibles de 4 bits. Estas
combinaciones son:
Tabla 2.C.24: Comparación entre BCD 8421 y Sistema Binario.
Número en
Base 10
BCD 8421 Número en
Base 2
0 0000 0000
1 0001 0001
2 0010 0010
3 0011 0011
4 0100 0100
5 0101 0101
6 0110 0110
7 0111 0111
8 1000 1000
9 1001 1001
10 ------ 1010 COMBINACIONES
11 ------ 1011 QUE NO
12 ------ 1100 PERTENECEN
13 ------ 1101 AL CÓDIGO
14 ------ 1110 BCD 8421
15 ------ 1111 Y SÍ AL SIST. DE
NUMERACIÓN
BINARIO
Por lo tanto, siempre que la suma de dos dígitos supere 9, no pertenece a BCD 8421 y
hay que realizar una corrección para que quede expresada en este código.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 77 de 91
La Tabla 2.C.25 muestra otro ejemplo.
Tabla 2.C.25: Suma en BCD 8421
BCD 8421
2 10 …………………………….. 0010
+
310 …………………………….. 0011
5 10 ……………………………. 0101
El resultado es menor o igual que nueve
(1001)
PERTENECE AL CÓDIGO BCD 8421
NO HAY QUE CORREGIR
BCD 8421
4 10 …………………………….. 0100
+
6 10 …………………………….. 0110
10 10 ……………………………. 1010
El resultado es MAYOR que nueve (1001)
NO PERTENECE AL CÓDIGO BCD
8421
HAY QUE CORREGIR
¿Cuál es la corrección indicada para que el resultado quede expresado en BCD 8421?
La diferencia entre Sistema de Numeración Binario y BCD 8421, está en las 6
combinaciones que NO PERTENECEN AL CÓDIGO.
Por lo tanto hay que “saltarlas”, sumando precisamente 6 (0110) y así el resultado
vuelve a pertenecer a BCD 8421.
La Tabla 2.C.26, muestra otro ejemplo:
Tabla 2.C.26: Suma en BCD 8421
BCD 8421
Expresamos los números con dos dígitos para
entender el procedimiento:
1
0810 ……………………….. 0000 1000
+ +
0910 ……………………….. 0000 1001
1710 …………………………….0001 10001
+
0110
0001 0111
1 7
APARECE UN ACARREO QUE SE SUMA A LA
COLUMNA SIGUIENTE, QUEDANDO ASÍ EL
RESULTADO CORRECTO.
EL RESULTADO DE ESTA
COLUMNA ES MAYOR QUE 9 (ES
17).
CORRECCIÓN SUMAR 6 (0110)
PORQUE EL RESULTADO DE LA
COLUMNA NO PERTENECE A BCD 8421
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 78 de 91
Veamos un nuevo ejemplo con números de 3 cifras, mostrado en la Tabla 2.C.27:
Tabla 2.C.27: Ejemplo con suma de números de 3 cifras
1 1 1
0768 10 0000 0111 0110 1000
+ 0839 10 + 0000 + 1000 + 0011 + 1001
1607 10 0001 10000 1010 10001
3º
RESULTADO
MAYOR
QUE 9
SUMAR 6
2º
RESULTADO
MAYOR
QUE 9
SUMAR 6
1º
RESULTADO
MAYOR
QUE 9
SUMAR 6
CORREC-
CIÓN
+ + 0110 + 0110 + 0110
0001 0110 10000 0111
1 6 0 7
RESUMIENDO
SUMA EN BCD 8421
SE CORRIGE CUANDO EL RESULTADO NO PERTENECE AL CÓDIGO BCD
8421, como muestra la Tabla 2.C.28.
Tabla 2.C.28: Corrección para suma en BCD 8421
RESULTADO SIN CARRY > 1001 (9) RESULTADO CON CARRY > 1111 (15)
SUMO 0110 (6) SUMO 0110 (6)
SUMA EN BCD XS 3
Recordemos las características del código BCD XS 3:
AUTOCOMPLEMENTADO
SIN PESO
Sin embargo, debido a que este código se genera en base al BCD 8421 desplazado 3
lugares “hacia abajo”, para lograr un código autocomplementado, es apto para realizar
operaciones aritméticas.
Es importante volver a enfatizar que la encargada de realizar las operaciones es la ALU,
que recibe binarios, suma binarios y calcula el resultado en binario (NO EN BCD XS
3). Por lo tanto, como en el caso anterior, también será necesario efectuar correcciones
para obtener el resultado expresado en BCD XS 3.
A continuación se analiza el siguiente caso que muestra la Tabla 2.C.29:
Se suman 1 + 1 en sistema de numeración decimal.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 79 de 91
Tabla 2.C.29: Ejemplo de suma en BCD XS 3
SISTEMA
DECIMAL
SISTEMA
BINARIO
(EN 4
BITS)
SUMAMOS
0011 A CADA
DÍGITO PARA
EXPRESARLO
EN BCD XS 3
BCD
XS 3
1 0001 0001 + 0011 0100
+ 1 + 0001 0001 + 0011 + 0100
2 0010 0010 + 0110 EL
RESULTADO
1000
NO
HUBO
CARRY
2 + 6 TIENE 6 DE
MÁS
CORRECCIÓN
HAY QUE
RESTAR 3
(0011) PARA
VOLVER A
EXPRESARLO
EN XS 3
A continuación se analiza este otro caso que muestra la Tabla 2.C.30:
Se suman 8 + 9 en sistema de numeración decimal.
Tabla 2.C.30: Otro ejemplo de suma en BCD XS 3
SIST.
DECI-
MAL
SISTEMA
BINARIO
(EN 8
BITS)
SUMAMOS
0011 A CADA
DÍGITO PARA
EXPRESARLO
EN BCD XS 3
BCD XS 3
1 1 1
08 00001000 1000+0011 0011 1011
+ 09 + 00001001 1001+0011 0011 1100
17 00010001 10001+0110 0111 10111
HUBO
CARRY
17 + 6 = 23
EL
RESULTADO
TIENE 6 DE
MÁS
NO HUBO
CARRY
CORRECCIÓN
HAY QUE
RESTAR 3
(0011) PARA
VOLVER A
EXPRESARLO
EN XS 3
HUBO CARRY
CORRECCIÓN
HAY QUE
SUMAR 3 (0011)
PARA VOLVER
A
EXPRESARLO
EN XS 3
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 80 de 91
La Tabla 2.C.31 presenta un nuevo ejemplo con números de 3 cifras:
Tabla 2.C.31: Nuevo ejemplo de suma en BCD XS 3
U. DE MIL CENTENAS DECENAS UNIDADES
1 1 1 11 1
0915 10 0011 1100 0100 1000
0217 10 + 0011 + 0101 + 0100 + 1010
113210 0111 10001 1001 10010
- 0011 + 0011 - 0011 + 0011
0100 0100 0110 0101
1 1 3 2
4º
RESULTADO
NO HUBO
CARRY
RESTAR 3
3º
RESULTADO
HUBO
CARRY
SUMAR 3
2º
RESULTADO
NO HUBO
CARRY
RESTAR 3
1º
RESULTADO
HUBO
CARRY
SUMAR 3
RESUMIENDO
SUMA EN BCD XS 3
SE CORRIGE SIEMPRE, como muestra la Tabla 2.C.32.
Tabla 2.C.32: Corrección para suma en BCD XS 3.
RESULTADO SIN CARRY RESULTADO CON CARRY
RESTO 0011 (3) SUMO 0011 (3)
2.C.8. Seguridad en la transmisión binaria
La información en forma de cadenas de bits que se trasmite dentro de cualquier sistema
de procesamiento de datos o por medio de sistemas teleinformáticos, puede sufrir
modificaciones en la información binaria. Dichas modificaciones pueden producirse por
interferencias internas o externas y su resultado es que un bit cambie su valor, es decir:
un bit cero cambiará a uno, o un bit uno cambiará a cero, siendo éstas las ÚNICAS
alternativas posibles.
El concepto de bit de paridad, es una de las herramientas básicas (otra puede ser por
ejemplo CRC: comprobación de redundancia cíclica es un tipo de función que recibe
un flujo de datos de cualquier longitud como entrada y devuelve un valor de longitud
fija como salida. Pueden ser usadas como suma de verificación para detectar la
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 81 de 91
alteración de datos durante su transmisión o almacenamiento) utilizadas para evitar la
propagación de errores en la información transmitida y/o almacenada.
El bit de paridad, consiste en el agregado a la información codificada, de uno o más bits
(llamados bits de paridad), para lograr que la cantidad de bits 1 de la información
codificada sea un número par. Dichos bits agregados, aumentan la distancia del código
y permiten identificar las combinaciones válidas del código, de las combinaciones con
errores.
Se recuerda al lector que distancia de un código es la cantidad mínima de bits que
cambian entre cualquier par de combinaciones de un código.
Si un solo bit cambiara por error en la transmisión, el mensaje cambiará de paridad y el
error se puede detectar (nótese que el bit donde se produzca el error puede ser el mismo
bit de paridad).
La convención más común es que un valor de paridad de 1 indica que hay un número
impar de unos en los datos, y un valor de paridad de 0 indica que hay un número par de
unos en los datos.
La comprobación de paridad no es muy robusta, dado que si cambia más de un bit, el
bit de paridad será válido y el error no será detectado. Por otro lado, la paridad, aunque
puede detectar que hay error, no indica en qué bit se cometió. Los datos se deben
desechar por entero y volverse a transmitir. En un medio ruidoso, una transmisión
correcta podría tardar mucho tiempo o incluso, en el peor de los casos, no darse nunca.
El chequeo de paridad, aunque no es muy bueno, usa un único bit, por lo que produce
muy poca sobrecarga, y además permite la corrección de ese bit si es conocida su
posición.
Un código con PARIDAD PAR EN LOS UNOS, posee una cantidad PAR de unos en
cualquiera de sus combinaciones. Es así que el bit de paridad agregado, se elige de
acuerdo a la cantidad de unos de la combinación del código original. Si la combinación
presentaba, por ejemplo, 3 unos, el bit de paridad agregado debe ser uno, ya que el total
de unos debe ser par (en este caso quedan 4 unos). Por el contrario, si la combinación
presentaba 2 unos, se agrega un cero, ya que el número total de unos era par.
La paridad también puede ser de los siguientes tipos:
PARIDAD PAR EN LOS CEROS (Cantidad par de ceros)
PARIDAD IMPAR EN LOS UNOS. (Cantidad impar de unos)
PARIDAD IMPAR EN LOS CEROS (Cantidad impar de ceros)
El agregado de un bit de paridad implica el aumento de la distancia de un código en una
unidad. Es así que un código de distancia D, pasa a tener distancia D+1 como resultado
de incorporar un bit de paridad.
La Tabla 2.C.33 muestra un ejemplo para el código BCD 8421:
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 82 de 91
Tabla 2.C.33: Distancia para BCD 8421
Dígito
decimal BDC 8421
DISTANCIA
Del
Código
BCD 8421
Bit de
paridad
PAR EN
LOS
UNOS
BCD con
agregado de
bit de
paridad
DISTANCIA
(incluyendo
bit de
paridad)
0 0000 1 0 00000 2
1 0001 2 1 00011 2
2 0010 1 1 00101 2
3 0011 3 0 00110 4
4 0100 1 1 01001 2
5 0101 2 0 01010 2
6 0110 1 0 01100 2
7 0111 4 1 01111 4
8 1000 1 1 10001 2
9 1001 2 0 10010
Es posible observar en la tabla que el código BCD 8421 tiene distancia 1 (mínima
distancia entre combinaciones) y que al agregarle un bit de paridad, la distancia
aumentó en 1 (ahora es 2).
La detección de errores en un proceso de transmisión o almacenamiento de información
binaria, implica reconocer la posible modificación de uno o más bits de la cadena.
Existen métodos que permiten detectar errores (es decir, saber si la información llegó
correctamente) , pero lo ideal no sólo es detectar, sino CORREGIR el error, para lo
cual, no sólo es necesario, detectarlo sino además saber LA POSICIÓN del bit erróneo
y de esta manera, corregirlo (simplemente si llegó un cero, cambiarlo por uno y
viceversa).
Si una combinación válida de un código ha sido recibida con un error, la nueva
combinación (con error), posee distancia 1 con respecto a la combinación original.
Ejemplo:
Enviada: 0011
Recibida: 0111
Se puede observar que existe un bit erróneo en la combinación recibida. La distancia
entre ambas combinaciones es 1 porque sólo cambia un bit entre una combinación y la
otra. También observamos que el bit de paridad (par en los unos), nos muestra error
(hay número impar de unos) en la combinación recibida.
Es posible encontrar una relación directa entre la cantidad de errores que este código
puede detectar y corregir y su distancia. A mayor distancia del código, mayor capacidad
de detección y corrección.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 83 de 91
La siguiente inecuación, representa la relación entre la distancia de un código (D), la
cantidad de errores que el código permite detectar (d) y la cantidad de errores que el
código permite corregir (k), debiendo ser d >= k, es decir debe poder detectar igual o
mayor cantidad de errores de los que puede corregir.
D > d + k siendo d>=k
La distancia de un código es mayor que la cantidad de errores que el código puede
detectar más la cantidad de errores que el código puede corregir.
La Tabla 2.C.34 permite observar un ejemplo.
Tabla 2.C.34: Distancia, detección y corrección.
Distancia del
código
(D)
Relación Cantidad de errores que
permite detectar
(d)
Cantidad de errores
que permite corregir
(k)
1 > 0 0
2 > 1 0
3 > 2 0
3 > 1 1
4 > 2 1
4 > 3 0
Para el caso de distancia 3 se pueden detectar 2 errores y corregir ninguno, o detectar 1
y corregir 1.
A continuación se muestra un código de distancia 3, donde las dos únicas
combinaciones que pertenecen al código son: 000 y 111. Al ser transmitido se presentó
un solo error, es decir, se obtuvo una combinación NO VÁLIDA (en el ejemplo: 001,
010, 011, 100, 101 y 110). La Figura 2.C.11 permite visualizar el código, las
combinaciones válidas y erróneas y la distancia entre 000 y 111 (para llegar de 000 a
111 hay que recorrer 3 aristas del cubo).
Figura 2.C.11: Detectar y corregir un error, con distancia 3.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 84 de 91
La Tabla 2.C.34 muestra todas las posibles combinaciones de 3 bits y cuáles de ellas
pertenecen al código y cual son erróneas.
Tabla 2.C.34: Combinaciones válidas y erróneas.
COMBINACIÓN ERRÓNEA
RECIBIDA
(NO PERTENECEN AL CÓDIGO)
COMBINACIÓN VÁLIDA
ENVIADA
(PERTENECEN AL CÓDIGO)
001
010
100
000
011
101
110
111
Por lo tanto si se recibió una combinación con un solo 1, se sabe que se quiso enviar
000, por el contrario si se recibió una combinación con un solo 0, se sabe que se envió
111. Como la codificación es binaria, si se recibe 0 y es erróneo, seguro se envió 1, por
lo tanto sólo basta cambiarlo para obtener el original enviado.
Esta posibilidad es la utilizada en el método que se explicará a continuación y que
permite a los códigos de distancia 1 convertirse en códigos de distancia 3 y así poder
detectar y corregir un bit.
2.C.9. Códigos detectores y correctores de errores: códigos de Hamming
El uso de paridad simple permite la detección de UN SOLO bit de paridad erróneo
recibido. La corrección de dichos errores requiere más información, debido a que la
posición del bit erróneo, debe ser identificada para que el bit erróneo pueda ser
corregido. La corrección consiste simplemente en cambiar el valor del bit erróneo por el
único valor posible, es decir su complemento. La corrección es imposible con el
agregado de un solo bit de paridad, ya que el bit erróneo puede hallarse en cualquier
lugar de la cadena de bits y producirá el mismo resultado: “error de paridad”. Si se
incluyen más bits de paridad, en posiciones que produzcan diferentes resultados de
error, entonces los bits erróneos podrán ser detectados y corregidos.
Veamos ahora un código capaz de detectar y corregir 1 bit en una cadena transmitida.
CÓDIGOS DE HAMMING
Richard Hamming (1915-1998) trabajó en los laboratorios Bell en los años 40 en la
computadora del modelo V de Bell, un monstruo electromecánico basado en relés con
velocidad de proceso de hertzs. La entrada se alimentaba con tarjetas perforadas en las
que, con frecuencia, se cometían errores al ser leídas. En cada jornada, los errores
encontrados se indicaban mediante luces de destello para que los operadores pudieran
corregir el problema. Fuera de las horas laborales y durante los fines de semana, cuando
no había operadores, la máquina se dejaba preparada para el trabajo de la siguiente
jornada. Hamming trabajando los fines de semana, se sentía frustrado cada vez que tenía
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 85 de 91
que recomenzar sus programas debido a la falta de fiabilidad del lector de tarjetas. Los
siguientes años trabajó en el problema de error-corrección, desarrollando un arsenal de
algoritmos cada vez más eficaces. En 1950 publicó lo que ahora se conoce como código
de Hamming, que aún hoy sigue siendo utilizado.
El método de Hamming, permite convertir cualquier código de distancia 1 (sin importar
la cantidad de bits que lo componen) en un código de distancia 3, formulando
ecuaciones parciales de paridad par.
El método plantea que la cantidad de bits de paridad, necesarios para una cantidad de
bits de datos, se determina a partir de la siguiente relación:
X + P < 2 p
Siendo X: cantidad de bits de datos. P: cantidad de bits de paridad.
La cantidad de bits de datos(X) más la cantidad de bits de paridad (P) es menor que 2
elevado a la cantidad de bits de paridad (P).
En la siguiente Tabla 2.C.35 observamos la cantidad de bits de paridad requeridos según
el tamaño de bits a enviar:
Tabla 2.C.35: Cantidad de bits de paridad según total de bits a enviar
Cantidad Máxima de
bits de información a
enviar
X
Cantidad de bits
de paridad
P
TOTAL
Bits a
enviar
2 p
4 + 3 7 < 23=8
11 + 4 15 < 24=16
26 + 5 31 < 25=32
57 + 6 63 < 26=64
120 + 7 127 < 27=128
247 + 8 255 < 28=256
502 + 9 511 < 29=512
1013 + 10 1023 < 210
=1024
Es posible observar que cuanto mayor es la cantidad de bits a enviar el código se hace
más eficiente, ya que la relación entre bits a enviar y bits de paridad es mucho mayor.
Para enviar 1013 bits se necesitan sólo 10 bits de paridad (relación 100 a 1), mientras
que para enviar 4 bits de información se necesitan 3 bits de paridad (relación casi 1 a 1).
Para menos de 3 bits de paridad, no se utiliza.
El método utilizado por Hamming para definir su código consiste en ubicar los bits de
paridad en posiciones que son potencias de 2.
Se explicará el método por medio de un ejemplo:
PRIMERO SE REALIZARÁ EL ENVÍO DEL MENSAJE:
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 86 de 91
Se desea enviar una palabra de 4 bits correspondiente al número 9 codificado en BCD
8421. Deseamos enviar los siguientes 4 bits 1001.
Según la tabla anterior para esta cantidad de bits de información se deben insertar 3 bits
de paridad y lo haremos en las posiciones que son potencias de 2.
UBICACIÓN DE LOS BITS DE PARIDAD
Cada número decimal que no sea potencia de 2, se puede expresar con 2 o más
potencias de 2 DE MANERA ÚNICA (recordemos el Teorema Fundamental de la
Numeración).
La Figura 2.C.14 permite observar con que potencias de 2 se forman cada una de las
posiciones de los bits de datos.
Figura 2.C.14: Potencia de 2 que forman cada posición
En cada círculo podemos ver una posición de bit de paridad (en verde, violeta y
naranja) y en cada intersección, la posición del bit de datos generado como la suma de
las posiciones de los bits de paridad (en azul).
La posición 3 es la suma de 1+2
La posición 5 es la suma de 1+4
La posición 6 es la suma de 2+4
La posición 7 es la suma de 1+2+4 (intersección de los 3 círculos)
El cambio del bit que ocupa la posición, pensado como error, implica el cambio de por
lo menos 2 de los bits ubicados en los lugares potencias de 2.
Es así que la distancia mínima de este código es 3 (el bit erróneo, más por lo menos 2
bits de paridad de control).
P0
0
1
2
4
3
7
6
5
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 87 de 91
Los 3 bits de paridad están ubicados en las posiciones 1, 2 y 4 del mensaje y están
relacionados con los bits de datos ubicados en las posiciones 3, 5, 6 y 7.
Posición P1 P2 X3 P4 X5 X6 X7
bit ? ? 1 ? 0 0 1
Ahora bien, ¿cómo calculamos los valores de los 3 bits de paridad P1, P2 y P4?
Se tiene un mensaje compuesto por 4 bits de datos (marcados con X) como ya fue
expresado anteriormente, se tomará como ejemplo el 1001 (el número decimal 9 en el
código BCD 8421). A ese mensaje original se le agregan 3 bits de paridad, lo que eleva
el largo total del mensaje a 7 bits (4 de información y 3 de paridad). Los 3 bits de
paridad agregados son bits de PARIDAD PAR EN LOS UNOS.
Como es posible observar, el cambio de un bit cualquiera de los 7 bits disponibles,
afecta SOLAMENTE a los bits de paridad asociados al bit que cambió y para cada bit
de datos esta combinación de bits de paridad ¡ES ÚNICA !
Cambiar el bit 1 NO PRODUCE cambios en los otros bits, porque 1=20, es potencia
entera de 2
Cambiar el bit 2 NO PRODUCE cambios en los otros bits, porque 2=21, es potencia
entera de 2
Cambiar el bit 3 PRODUCE CAMBIOS en los bits 1 y 2, porque 3=1 + 2
Cambiar el bit 4 NO PRODUCE cambios en los otros bits, 4=22, es potencia entera de 2
Cambiar el bit 5 PRODUCE CAMBIOS en los bits 1 y 4, porque 5=1 + 4
Cambiar el bit 6 PRODUCE CAMBIOS en los bits 2 y 4, porque 6=2 + 4
Cambiar el bit 7 PRODUCE CAMBIOS en los bits 1, 2 y 4, porque 7 = 1 + 2 + 4
Esta verificación se realiza simplemente expresando las posiciones de cada bit por
medio de potencias de 2, como vimos cuando estudiamos sistema de numeración
binario.
Entonces se arman las siguientes ecuaciones para calcular los valores de cada bit de
paridad, como muestra la Tabla 2.C.36:
Tabla 2.C.36: Valores de cada bit de paridad
Bit de paridad Bits de datos
P4 = Paridad PAR (X5, X6, X7)
P2 = Paridad PAR (X3, X6, X7)
P1 = Paridad PAR (X3, X5, X7)
Como cada entero tiene una única representación formada por potencias de 2, las
ecuaciones planteadas son independientes y por lo tanto presentan una solución
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 88 de 91
única, que indicará cual fue el bit erróneo. Con esa información, corregirlo es muy
simple, ya que si se recibió un 0 y es erróneo, seguro fue enviado un 1. Lo mismo
sucede si se recibió un 1 y es erróneo, seguro se envió un 0. En ambos casos sólo queda
corregirlo.
Para el ejemplo del número 1001, se reemplaza cada ubicación por su bit
correspondiente y se calcula el bit de paridad, como se muestra en la Tabla 2.C.37.
Tabla 2.C.37: Cálculo de bit de paridad.
Bit de paridad Bits de datos asociados
al bit de paridad Calcular
Bit de paridad
calculado para
obtener
PARIDAD PAR
EN LOS 1
P4 (X5, X6, X7) Paridad PAR
(0,0,1) 1
P2 (X3, X6, X7) Paridad PAR
(1,0,1) 0
P1 (X3, X5, X7) Paridad PAR
(1,0,1) 0
La siguiente Figura 2.C.15 muestra los bits de paridad calculados.
Figura 2.C.15: Bits de paridad del ejemplo.
El mensaje queda codificado en la siguiente forma, como muestra la Tabla 2.C.38:
P0
0
P1
0
P2
0
P4
1
X3
1
X7
1
X6
0
X5
0
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 89 de 91
Tabla 2.C.38: Mensaje codificado
Posición P1 P2 X3 P4 X5 X6 X7
bit 0 0 1 1 0 0 1
MENSAJE: 0011001
Ya está listo para ser enviado.
Ahora se verá que sucede cuando el mensaje es recibido.
Se analizará si el mensaje ha sido recibido sin error, siguiendo el método de Hamming,
planteando ecuaciones para cada posición de bit de paridad. Se recuerda que dichas
ecuaciones son INDEPENDIENTES y permiten DETECTAR el bit erróneo y
posteriormente CORREGIRLO, como se expresa en la Tabla 2.C.39.
Tabla 2.C.39: Ecuaciones y estados según su paridad.
ECUACIÓN
SIN ERROR
CON ERROR
E4 = Paridad (P4,X5, X6, X7)
PARIDAD PAR PARIDAD IMPAR
E2 = Paridad (P2,X3, X6, X7)
PARIDAD PAR PARIDAD IMPAR
E1 = Paridad (P1,X3, X5, X7)
PARIDAD PAR PARIDAD IMPAR
En el caso de haber errores, una o más ecuaciones no responderá al cálculo de paridad
par. Los resultados pueden observarse en la siguiente Tabla 2.C.40:
Tabla 2.C.40: Resultados según paridad.
E4 E2 E1 BIT ERRÓNEO
PAR PAR PAR NINGUNO
PAR PAR IMPAR P1
PAR IMPAR PAR P2
PAR IMPAR IMPAR X3
IMPAR PAR PAR P4
IMPAR PAR IMPAR X5
IMPAR IMPAR PAR X6
IMPAR IMPAR IMPAR X7
Ejemplo: Se ha recibido el siguiente mensaje de un dígito codificado en BCD 8421,
siguiendo los criterios de Hamming:
0011011
La Tabla 2.C.41 muestra la posición de cada bit dentro del mensaje
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 90 de 91
Tabla 2.C.41: Posición de cada bit
Posición P1 P2 X3 P4 X5 X6 X7
bit 0 0 1 1 0 1 1
Para ello se arman las ecuaciones de cada bit de paridad con sus bits de datos asociados.
Cada ecuación debe poseer PARIDAD PAR EN LOS 1. Si eso NO SUCEDE, significa
que se recibió UN BIT ERRONEO, como se observa en la Tabla 2.C.42.
Tabla 2.C.42: Armado de ecuaciones
Ecuación de
paridad
asociada a cada
bit de paridad
Ecuación de PARIDAD
¿Mantiene
PARIDAD
PAR EN LOS
1?
BIT DE
PARIDAD
AGREGADO
PARA
LOGRAR
PARIDAD PAR
EN LA
ECUACIÓN
E4 (P4,X5, X6, X7)
(1,0,1,1) NO 1
E2 (P2,X3, X6, X7)
(0,1,1,1) NO 1
E1 (P1,X3, X5, X7)
(0,1,0,1) SI 0
1102 = 610
BIT ERRÓNEO X6
Se puede observar que las ecuaciones de paridad que NO MANTUVIERON la paridad
par en los 1, fueron la E4 y E2.
Si se suman los subíndices 4 + 2, el resultado ( 6) indica que el bit que fue transmitido
con error fue X6, ya que es el único que es afectado simultáneamente y únicamente por
los bits de paridad P2 y P4.
Es posible observar también, que el resultado en binario de las ecuaciones de paridad:
1102, expresado en decimal es 6, que indica también que el bit X6 es el bit erróneo.
Sólo falta corregirlo. Simplemente como el bit recibido es X6 = 1 y se conoce que es
erróneo, el bit X6 correcto es X6=0.
El mensaje recibido fue: 0011011
La Tabla 2.C.43 muestra el mensaje recibido.
Unidad 2. Introducción a los sistemas de representación de la información
Fundamentos de TICs. 1 Cuat. 2014 Página 91 de 91
Tabla 2.C.43: Mensaje recibido
Posición P1 P2 X3 P4 X5 X6 X7
bit 0 0 1 1 0 1 1
BIT X6 ERRÓNEO
Se cambia y se obtiene el mensaje original como se observa en la Tabla 2.C.44
Tabla 2.C.44: Mensaje corregido
Posición P1 P2 X3 P4 X5 X6 X7
bit 0 0 1 1 0 0 1
Mensaje original
0011001
Referencias
http://www.ee.unb.ca/tervo/ee4253/hamming.htm
http://www.jcee.upc.es/JCEE2006/pdf_ponencies/PDFs/JCEE06_14_12_T2.pdf
http://www.cs.cornell.edu/Courses/cs414/2007su/slides/hamming.htmL