Subido por Natalia Velastin

Cap. 1.2-Apuntes - Representacion de la Informacion

Anuncio
Capítulo I.
Representación de la Información.
1.1.- Introducción.
El objetivo del presente apunte es mostrar algunas de las diferentes formas que han sido ideadas para
representar información. En particular, nos remitiremos a formas de escribir números debido a que
muchas de las aplicaciones de los computadores deben manejarlos. Además, veremos que otros símbolos
de interés, tales como letras y elementos de puntuación pueden ser representados como números.
Los números romanos son un esquema de control basado en las quinas (V) y decenas (X). Los romanos
tenían símbolos para el 1, 5, 10, 50, 100, 500, 1000, 5000, 10000 y 100000, pero no para números más
grandes. Para expresar números como 1.000.000 es necesario escribir el número 100.000 diez veces; es
así que para expresar el número de habitantes de un país (aún siendo pequeño) se requerirían varias
líneas para anotar la cantidad.
En nuestro moderno sistema numérico tenemos lo que se conoce como un "Sistema Numérico
Posicional", en el cual el significado de un símbolo cambia, dependiendo de la posición en que se
encuentre dentro del número. Es así como el número 1232 significa:
2 * 100 + 3 * 101 + 2 * 102 + 1* 103
Nosotros utilizamos 10 diferentes símbolos 0... 9 con los cuales, mediante el valor posicional que cada
uno tenga asignado, podemos representar cualquier número que deseemos.
A diferencia de los Romanos, nosotros no necesitamos más que estos 10 símbolos. Los Babilonios
utilizaban un método similar, el que fue olvidado por las civilizaciones del Mediterráneo y no fue sino hasta
alrededor del año 1200 que el concepto fue reintroducido en Occidente, a través de la India por los
árabes, dando así origen a lo que hoy se conoce como Sistema Arábico.
El sistema numérico que utilizamos basado en 10 dígitos es conocido como Sistema Decimal y, aparte de
que nosotros tengamos 10 dedos, el Sistema Decimal no posee ninguna otra característica que lo haga
particularmente atractivo. Se han hecho esfuerzos por introducir un sistema numérico duodecimal (base
12) basándose en el hecho que tal sistema tendría la ventaja de que la base puede ser dividida (con resto
cero) por muchos más números que la base 10. La posibilidad de que un sistema como éste sea adoptado
es realmente remota, pero podría resultar atractivo.
La introducción de los computadores digitales y la tecnología en la que ellos están basados ha
despertado, recientemente, gran interés por sistemas numéricos posicionales en los cuales el "peso"
asignado a cada sucesor izquierdo en un número no es 10 veces más grande que su vecino derecho más
próximo. El factor en el que aumenta el peso de un dígito a medida que éste se mueve hacia la izquierda
en un número es la "base" o la "raíz". Es así como en la actualidad tienen gran importancia los sistemas
numéricos de base 2, 8 y 16.
En lo que sigue vamos a estudiar algunos de los conceptos más importantes de los sistemas numéricos,
para continuar con el estudio de métodos para conversión entre las distintas bases; veremos también
elementos de aritmética en las bases más usadas (distintas de 10) para finalizar con la descripción de los
códigos más usados en computadores, para representar información tanto numérica como alfanumérica.
Capítulo I. Representación de la Información
1.2 Sistemas Numéricos.
Un sistema numérico consiste en un set ordenado de símbolos, llamados dígitos, con relaciones definidas
por: suma (+), sustracciíon (-), multiplicación (*) y división (:). La base de un sistema numérico es el
número total de dígitos permitidos en el sistema numérico. En la tabla 1.1 se da una lista de varios
sistemas numéricos comunes.
Se dice que un número en un sistema dado (representado en notación punto fijo) tiene una parte entera y
una parte fraccionaria, esta última, separada por un punto. En algunos casos la parte entera o la parte
fraccionaria no existe.
Base
10
Ejemplos:
Dígitos
0, 1, 2, 3, 4 ......9
16
0, 1, 2,......9, A, B, C, D, E, F
8
0, 1, 2, 3, 4 ......7
5
0, 1, 2, 3, 4
2
0, 1
123, en base 10, representado como 12310; 30, en base 6 representado por 306
A continuación estudiaremos dos formas de escribir un número en un sistema numérico: la notación juxta
posicional y la representación polinomial.
1.2.1.- Notación Juxta-posicional.
Supóngase que Ud. solicita un préstamo a un banco por la cantidad de ciento veintitrés pesos y treinta
centavos. El cheque que Ud. recibe indica el monto 123,30. Al escribir este número se ha usado la
notación juxta posicional. El cheque podría ser cambiado por 1 billete de 100 pesos, 2 monedas de 10
pesos, 3 monedas de 1 peso y 3 de 10 centavos (si existieran). Por lo tanto, la posición de cada dígito nos
indica el peso relativo o importancia de él.
En general, un número N en notación juxta-posicional se escribe como sigue:
N = ( an −1an − 2 ...........a1a0 . a−1a−2 ..........a− m )r
r
= base
a
=
n
=
m =
a
=
a-n =
dígito
número de dígitos enteros
número de dígitos fraccionarios
dígito más significativo
dígito menos significativo
Entonces el número total de dígitos usados en el sistema numérico es igual a la base r del sistema
numérico, donde
0 ≤ ai ≤ r − 1
y
-m ≤ i ≤ n-1
1.2.2.- Representación Polinomial.
El préstamo de 123,3010 pesos puede ser escrito en notación polinomial como:
Curso Electrotecnia
VPG/1.2
Capítulo I. Representación de la Información
N = 123,3010
N = 1∗100 + 2 ∗10 + 3 ∗1 + 3 ∗ 0.1 + 0 ∗ 0.01
N = 1∗102 + 2 ∗101 + 3 ∗100 + 3 ∗10−10 ∗10−2
N = 123,3010
Note que cada dígito está ubicado en una posición que le da un cierto "peso" y que dicho peso de cada
posición es una potencia de la base, en este caso 10. En general, cualquier número N puede ser escrito
como un polinomio de la forma:
N=
n −1
∑ ar
i
i =− m
donde cada símbolo fue definido anteriormente. Para el caso:
a 2 = 1;
a1 = 2;
a0 = 3;
a−1 = 3;
a = 10;
r = 0 y ai = 0 para i ≥ 3
i ≤ −2
1.2.3.- Ejemplos de Sistemas numéricos.En la tabla 1.2 se listan varios números escritos en algunos de los sistemas numéricos de la tabla 1.1.
Note por ejemplo que:
N = 1410 = 11102 = 1123 = 324 = 168 = E16
Todos los números en la tabla están escritos en notación juxta posicional. Para el sistema hexadecimal
debemos tener 16 dígitos, estos son:
0, 1, 2,...... , 9, A, B, C, D, E, F
que son los usados en la literatura especializada.
Tabla 1.2
r = 10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Curso Electrotecnia
Ejemplos de sistemas numéricos
r=2
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011
10100
10101
10010
r=3
0
1
2
10
11
12
20
21
22
100
101
102
110
111
112
120
121
122
200
201
202
210
211
r=4
0
1
2
3
10
11
12
13
20
21
22
23
30
31
32
33
100
101
102
103
110
111
112
r=8
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
r = 16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
VPG/1.3
Capítulo I. Representación de la Información
Una tabla como la 1.2 puede ser usada para conversión de bases, esto es, para convertir números de una
base a otra. Sin embargo, nosotros vamos a estudiar más adelante otros métodos de conversión, los
cuales eliminan la necesidad de utilizar tablas para realizar la conversión.
El sistema de números binarios (r = 2) requiere sólo 2 bits, 0 y 1. Este sistema es ideal para ser usado en
computadores digitales, los cuales son construidos con dispositivos bi-estables, los que en general están
encendido o apagado. Uno de estos estados es llamado 1 y el otro 0. La conexión de una serie de estos
dispositivos bi-estables forman lo que se conoce con el nombre de registro, como se muestra en la figura
1.1. El registro de 5 bits mostrado aquí contiene el número:
101102 = 2210
1
0
1
1
1
Fig. 1.1 : Registro de 5 bits
Según se indica en la tabla 1.2, el tamaño de los registros en los computadores va desde 1 bit a 64,
existiendo aún mayores.
1.2.4.- Números con signo.
Los computadores digitales usan los números binarios para realizar los cálculos preescritos por el
programador. Para diferenciar entre datos positivos y negativos la máquina emplea convenciones
especiales de signo, además del sistema numérico binario mostrado en la tabla 1.3. La forma para estos
números con signo se resume a continuación. El número con signo N puede ser escrito en una de las
siguientes:
Juxta posicional
Signo-Magnitud :
:
N = + ( an −1............a0 . a−1...............an )
N = ( San −1..........a0 . a−1...........a− m )
donde S = 0 si N es positivo y S = r-1 si N es negativo.
Ejemplo 1:
N = -1310
N = -11012 (ver tabla 1.2)
N = 111012SM
El subíndice SM indica el uso de sistema binario signo - magnitud.
1.2.5.- Notación en punto Flotante.
Ingenieros y científicos frecuentemente hacen cálculos matemáticos en notación científica o punto flotante.
Por ejemplo, un millón seiscientos cincuenta mil es escrito como:
N = 1.650.000 = .165 x 107 En una notación más completa:
N = 1.650.00010 = .16510 x 10710
En notación punto flotante todos los números son escritos como una fracción de veces de la base elevado
a una potencia. En general, si:
N = + ( an −1..........a0 .a− i ...............a− m )r
Entonces N puede ser escrito en una forma más compacta:
Curso Electrotecnia
N = F ⋅rE
VPG/1.4
Capítulo I. Representación de la Información
donde:
F = + ( an −1...............a− m )r
y
E = + ( bk − i ..............b0 )r
En otras palabras, la parte fraccionaria F es multiplicada por la base r elevada al exponente E. Si S(f) es el
símbolo del signo para F y S(e) el símbolo del signo para E, entonces una notación en punto flotante
reducida es :
N = ( S ( f ) S ( e ) , bk −1................, an −1.......................a− m )r
donde S(f) y S(e) son 0 para positivo y 1 para negativo.
Suponga que se desea escribir el número: N = 1.650.00010 en notación punto flotante con
n + m = 5 y K = 3. Bajo estas condiciones F y E son:
Ejemplo 2.
F = + .1650010
Y N puede ser escrito como:
Ejemplo 3 .
E = + 007. 10
N = (00,007,16500) 10 ,que es su notación en punto flotante.
Ahora vamos a escribir N = - (101101 . 101)2 en punto flotante con n + m = 10 y k = 6.
Entonces:
Luego:
F = (.1011011010) 2 E = + 6. 10 = + 0001102 (ver tabla 1.2)
N = (10,000110,1011011010) 2
1.3. Aritmética en Sistemas numéricos posicionales.
Las reglas de la aritmética son las mismas en todos los sistemas numéricos de posiciones de valor
relativo. Por ello, basta sólo recordar las reglas correspondientes de la aritmética decimal para poder
efectuar operaciones aritméticas con números de cualquier otra base.
1.3.1. Suma. Cuenta y acarreo.
Un procedimiento basado en el principio de cuenta y acarreo, válido para cualquier sistema
posicional, tiene los siguientes tres pasos:
1) Sume los dígitos en la columna;
2) Si la base no es igualada ni excedida, registre la suma;
3) Si la base es igualada o excedida, divida la suma por la base (en base 10), registre el residuo
y acarree el cuociente a la siguiente columna.
En general, este procedimiento es útil para bases mayores que 2.
a) Suma Hexadecimal.
Trabajar con símbolos alfanuméricos (números y letras) parece extraño al principio dado que
resultados que nos son familiares en la suma decimal tienen un significado distinto en hexadecimal.
Mientras 4 + 5 = 9 tanto en decimal como en hexadecimal, 7 + 8 = 15 (decimal). Pero 7 + 8 = F
(hexadecimal). Cada vez que la suma de dos dígitos sobrepasa a F (el símbolo de mayor valor) se genera
el acarreo de un 1 hacia la posición superior:
Curso Electrotecnia
VPG/1.5
Capítulo I. Representación de la Información
Ejemplo 4:
1
0 C 4
C F 2
D B 6
1
+ 3
4
1
2 3
F 0
1 3
+
1
1
2
+ 1
4
B 5
3 8
E D
acarreos
F
7
6 suma
En el primer ejemplo 4 + 2 = 6, C + F(Hex) = 12 + 15(Dec) = 27 (Dec) = 16+11(Dec) = 1B (Hex) = B con
acarreo de un 1. C + 1 = D (directamente en Hex.) y 3 + 1 = 4.
Ejemplo 5:
1
1
9
+
9
1 2
2 con acarreo de 1
1
6
+ 1
8
b)
C
9
1 5
5 con acarreo de 1
+
1
A E
F A
A 8
1
+
1
1
1
8 F 9 7
D 4 4 C
6 3 E 3
Suma Octal.
1
+
1
1
7
2
2
3
5
0
2
2
4
3
+ 2
5
1
0
3
4
1
4
4
1
1
4
4
0
+
1
1
1
7
1
1
6
6
5
acarreos
7
7
6
suma
En el primer ejemplo, comenzando por la derecha, 2 + 2 = 4, 3 + 5 = 8 (Dec.), pero 8 decimal es 10 octal;
así el valor correcto es 0 con acarreo de 1 en octal.
c)
Suma Binaria.
En el sistema binario sólo hay dos símbolos: 0 y 1. Las reglas para la suma binaria son las siguientes:
0
0
1
1
+
+
+
+
0
1
0
1
=
=
=
=
0
1
1
1
0
Cuando la suma de dos dígitos excede los símbolos numéricos disponibles de la notación, se lleva un uno
a la posición de dígitos inmediatamente superior.
Por lo tanto, al sumar 1+1 en la notación binaria se excede el límite de la cuenta (ya que no hay otro
símbolo disponible) y en consecuencia el resultado es 0 con acarreo de 1 a la posición de dígito
inmediatamente superior.
Curso Electrotecnia
VPG/1.6
Capítulo I. Representación de la Información
Ejemplo 6:
1
1
+ 1
1 0
1
0
0
1
1
0
1
0
1
1
0
Acarreo
Suma
1
1
1
1
1
1
+
1 0
0
0
1
1
1
1
1
0
1
0
1
1
0
Ejemplo 7
Acarreo
Suma
En el ejemplo 7, en la tercera columna (de derecha a izquierda) se tenían dos bits unos y un bit uno de
acarreo que debieron ser sumados. Esta se realizó como sigue:
1 + 1 + 1 = (1 + 1) + 1 ⇒ 1 0 + 0 1 ⇒ 1 1
Es decir, el bit de suma fue 1 y el bit de acarreo fue 1.
Si se deben sumar una gran cantidad de números, la suma se realiza más fácilmente tomando los
números de a pares, como se muestra en el ejemplo 8:
Ejemplo 8.
1
1
0
+ 0
1
1
1
+ 1
1 1
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
+ 0
0
1
1
Suma
+
1 0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
Un procedimiento nemotécnico para realizar la suma anterior es el siguiente:
1. Si el número de "unos" en la columna par, entonces el resultado de dicha columna es "0 por cada
par de unos se acarrea un "1" a la columna siguiente.
2. Si el número de unos es impar, entonces el resultado es "1" y por cada par de unos se acarrea un
"1".
1.3.2. Suma por tablas.
Nuestra habilidad para manejar la aritmética en base 10 depende de un conjunto de reglas básicas tanto
para sumar como para multiplicar, las que son guardadas en memoria. Estas operaciones llegan a ser tan
familiares que tendemos a olvidar la importancia de estas tablas, particularmente la tabla de adición. Al
realizar operaciones aritméticas en alguna otra base también se requiere una cierta familiarización con los
símbolos de esas tablas para esa base. Vemos en la figura 2.2 las tablas de suma y multiplicación para
las bases 2 y 5.
Curso Electrotecnia
VPG/1.7
Capítulo I. Representación de la Información
Todas las reglas de la aritmética, tales como el acarreo, se aplican análogamente para bases distinta a la
base 10.
+
0
1
0
0
1
1
1
1
∗
0
1
0
0
0
1
0
1
+
0
1
2
3
4
0
0
1
2
3
4
1
1
2
3
4
10
2
2
3
4
10
11
3
3
4
10
11
12
∗
0
1
2
3
4
4
4
10
11
12
13
Base 2
0
0
0
0
0
0
1
0
1
2
3
4
2
0
2
4
11
13
3
0
3
11
14
22
4
0
4
13
22
31
Base 5
(Nota: cuando el resultado tiene dos dígitos, el más significativo puede guardarse como carry).
Figura 1.2 Tablas de adición y multiplicación.
1.3.3. Sustracción.
Procedimiento para sistemas posicionales:
1)
Para cada columna, sustraiga el sustraendo del minuendo (si el sustraendo es mayor que el
minuendo, pida "prestada" una potencia de la base desde la siguiente columna y luego sustraiga).
2)
Registre la diferencia.
Ejemplo 9:
Restar
a)
(4)3
- 2
1
23410 de 43210
10
(3)2
3
9
10
2
4
8
b)
35210 de 65010
Préstamo
Resta
6
3
3
(6)5
5
0
10
0
2
6
Préstamo
Resta
c) Si en la sustracción binaria existe la necesidad de un préstamo y el dígito siguiente a la izquierda del
minuendo es 1, se cambia dicho 1 a 0 y la sustracción continúa de manera usual. Sin embargo, si el
dígito siguiente a la izquierda del minuendo es 0, éste es cambiado a 1, así como cada dígito sucesivo
a la izquierda que sea igual a cero. El primer dígito del minuendo que sea igual a 1 es cambiado a 0 y
la sustracción continúa.
Ejemplo 10: restar 010111 de 101000
(1)0
- 0
0
Curso Electrotecnia
2
0
1
1
(1)0 (0)1 (0)1
0
0
0
0
1
1
2
0
1
1
Préstamo
Resta
VPG/1.8
Capítulo I. Representación de la Información
1.3.4.- Resta por tablas.
La sustracción y división pueden también efectuarse con el uso de las tablas de adición y multiplicación.
Las tablas de adición contestan a la pregunta a + b = ? para a y b dígtos quinarios, pero también puede
responderse a la pregunta a + ? = c. Por ejemplo, para encontrar 11 - 3 en aritmética quinaria,
consideramos el problema 3 + ? = 11. Encontramos la respuesta fijándonos en la columna izquierda hasta
encontrar el numeral 3, entonces recorriendo la hilera encontramos el numeral 11. El numeral que nombra
al número que debe ser sumado a 3 para obtener 11 está en la parte superior de esta columna. Por lo
tanto, 11 - 3 = 3. Análogamente 12 - 4 = 3; 10 - 2 = 3; 11 - 2 =4 , etc...
Restar 2341 de 4332 en aritmética quinaria.
Ejemplo 11:
Procedimiento.
1a. columna:
2a. columna:
3a. columna:
4a. columna:
1 + ? = 2 , 1 + 1 = 2,
Escribimos 1.
Pedimos 1, entonces 4 + ? = 13 , 4 + 4 = 13. Escribimos 4.
Pedimos 1, entonces 3 + ? = 12 ,
3 + 4 = 12. Escribimos 4.
2 + ? = 3 , 2 + 1 = 3. Escribimos 1.
Prestamo
-
(4)3
2
1
(3)2
3
4
3
4
4
2
1
1
Resta
1.3.5. Multiplicación Binaria.
La multiplicación binaria se realiza de la misma forma que la multiplicación decimal, con la excepción que
las operaciones multiplicativas binarias son más simples.
Ejemplo 12:
1
1
0
0
1
1
1
0
1
0
0
0
0
1
1
Ejemplo 13:
1
1
0
1
1
1
1
x
1
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
x
1
0
1
0
Note que existe un producto parcial por cada bit multiplicador. Este procedimiento puede ser realizado con
más eficiencia si se desplaza un lugar a la izquierda en vez de multiplicar un bit 0. Uno puede ver cual de
los procedimientos mencionados es el que más le acomoda.
1.3.6. División Binaria.
La división binaria es efectuada del mismo modo que la división decimal. Sin embargo, el procedimiento
es sencillo, ya que existen sólo dos valores posibles.
Curso Electrotecnia
VPG/1.9
Capítulo I. Representación de la Información
Ejemplo 13:
Dividir 11710 por 910 en binario.
0
1 1 (1) 0
1 0 0 1
1 0 1
1 0 0
0 0 1
0 0
1
1
0
1 0
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
:
1
0
0 1
= 1
1
0
1
Ejemplo 14:
1 1 1 0 1 0 1 : 1 1 1 = 1 0 0 0
1 1 1
0 0 0 0 1 0 1
1.4. Conversión Entre Bases.
En ocasiones, sobre todo cuando se trabaja con mini y microcomputadores, resulta necesario determinar
el equivalente de un número sobre otra base diferente de la cual está expresado. De la gran cantidad de
métodos de conversión, veremos sólo aquellos de mayor utilidad.
1.4.1. Métodos lentos
a) Desarrollo en Serie de Potencias
Este método es sugerido por la ecuación:
n −1
∑ ar
N=
i =− m
que también se puede escribir como:
i
i
N = an −1 • r n −1 + ........ + a0 • r 0 + a−1r −1 + ......... + a− m r − m
Donde a son los coeficientes y r la base.
En la práctica, los términos de la base están expresados en una base, digamos r = a; entonces, para
realizar la conversión a otra base, r = b, cada factor, de cada término es convertido a la otra base, para
luego ser evaluado usando aritmética de base b. Los siguientes ejemplos ilustran la técnica:
Ejemplo 15:
convertir 1416 a base 2
1416 = (116) • (1016)1 + (416) • (1016)0 , pero,
1
116 = 12 ,
1416 = (12 ) • (100002 ) + (1002) • (100002 )
1016 = 100002
y
416 = 1002 ⇒
0
1416 = (12 ) • (100002 ) + (1002) • (12 )
1416 = 100002
+ 1002
1416 = 101002
Es importante hacer notar que tanto las sumas como las multiplicaciones anteriores son realizadas en
base 2.
Curso Electrotecnia
VPG/1.10
Capítulo I. Representación de la Información
Convertir 1416 a base 10.
Ejemplo 16:
1416 = 116 • (1016)1 + 416 • (1016)0
(1016) = 1610 , 416 = 410 ⇒
pero 116 = 110 ,
1416 = 110 • (1610 )1 + 410 • (1610)º
1416 = 1610 + 410
1416 = 2010
Convertir 248 a base 10.
Ejemplo 17:
248 = 28 • (108)1 + 4 • (108)0 = 2 • 8 + 4 • 1 = 2010
Ejemplo 18:
Convertir 248 a base 2
248 = 28 • (108)1 + 48 • (108)0
pero: 28 = (10)2 ;
1
108 = (1000)2 ;
48 = (100)2
0
248 = (10)2 • (10002) + (100)2 • (10002 ) = 102 • 10002 + 1002 • 1
248 = 100002 + 1002 = 101002
Ejemplo 19 :
Convertir 101002 a base 10
101002 = 1 • 24 + 0 • 23 + 1 • 22 + 0 • 21 + 0 • 20
101002 = 24 + 0 + 22 + 0 + 0
101002 = 16 + 0 + 4 + 0 + 0
101002 = 2010
Ejemplo 20:
Convertir AF3.1516 a base 10
A = 1010
F = 1510
2
3 = 310
1
1 = 110
0
5 = 510
-1
AF3.1516 = 10 • 16 + 15 • 16 + 3 • 16 + 1 • 16 + 5 • 16-2
AF3.1516 = 2560 + 240 + 3 + 0.0625 + 0.01953
AF3.1516 = 2560 + 240 + 3 + 0.0625 + 0.01953
AF3.1516 = 2803.0820310
Ejemplo 21:
Convertir 1603.517 a base 10
1603.517 = 1 • 73 + 6 • 72 + 0 • 71 +3 • 70 +5 • 7-1 +1 • 7-2
1603.517 = 343 + 294 + 3 + 0.714285 + 0.020408
1603.517 = 640.73469310
Considerando el hecho que las operaciones aritméticas que deben realizarse en este método son llevadas
a cabo en la base a la que se está convirtiendo; la sustitución de potencias es un método útil para
convertir desde cualquier base a base 10, dada nuestra familiaridad con la aritmética de esta base.
b) Método de la División para Números Enteros
Suponga que un número está expresado en una base s. Este puede ser convertido a base r, realizando la
secuencia de divisiones que se muestran en la fig. 1.3, llevadas a cabo en base s. Los digitos Ai son los
restos de cada división de tal forma que Ai < r.
Curso Electrotecnia
VPG/1.11
Capítulo I. Representación de la Información
Demostración.
Alternativamente, la división puede ser escrita como:
Restos
N = r • N1 + A0
N1 = r • N2 + A1
N2 = r • N3 + A2
.............
.............
.............
Nn = r • 0 + An
N : r = N1
A0
N1 : r = N2
A1
N2 : r = N3
A2
............
............
o como:
N = r • (r • N2 + A1) + A0
2
N = r • N2 + r • A1 + A0
2
N = r • (r • N3 + A2 +r • A1) + A0
3
2
N = r • N3 + r A2 + r • A1 + A0
Nn-1 : r = Nn
An-1
n
n-1
N = r • An + r • An-1 + . . . . . . . . . . . r • A1 + A0
Con lo que, en notación juxtaposicional:
Ejemplo 22 :
N(s) = An An-1 An´2 . . . . . . . A0 (r)
Ejemplo 23:
Convertir 65310 a base 2
Convertir 65310 a base 5
6
5
3
1
:
2
=
3
2
6
6
5
3
3
:
5
=
1
3
3
2
6
0
:
2
=
1
6
3
1
3
0
0
:
5
=
2
6
1
6
3
1
:
2
=
8
1
2
6
:
5
=
5
5
=
1
1
1
:
2
=
4
0
5
0
:
8
5
=
0
0
0
:
2
=
2
0
1
1
:
4
2
0
1
:
2
=
1
0
0
0
:
2
=
5
5
1
:
2
=
2
2
0
:
2
=
1
Por lo tanto,
1
65310 = 101035
Ejemplo 24:
Convertir el número 160610 a base 12
Utilizar p y q para los dígitos 10 y 11
1
Por lo tanto, 6 5 310 = 0101011012
0
6
0
1
6
0
:
1
2
=
1
3
1
3
3
1
:
1
2
=
1
1
1
1
1
1
:
1
2
=
0
Por lo tanto,
3
1 6 0 610 = q 1 p12
En cada uno de los ejemplos anteriores, la aritmética usada fue la de base 10. Si un número va a ser
convertido de base r ( r ≠ 10) a alguna base b, la aritmética a utilizar debe ser en base r. Por esta razón el
método de la división es conveniente para convertir números expresados en base 10 a cualquier otra base
r, aún cuando puede utilizarse para cualquier base.
Curso Electrotecnia
VPG/1.12
Capítulo I. Representación de la Información
c) Método de la multiplicación para números fraccionarios.
Como se vio anteriormente, el método de las series de potencias es adecuado para convertir números
expresados en base r a base 10, tanto para números enteros como para fraccionarios. El método de la
división en cambio, adecuado para convertir números en base 10 a una base r, es aplicable sólo a
números enteros.
Supongamos que deseamos convertir números con parte fraccionaria de un sistema numérico a otro.
Considerar el número:
n
0
N = NE + NF = An • r +. . . . . . . + A0 • r + A-1 • r-1 + A-2 • r-2 +. . .
donde NE y NF son las partes enteras y fraccionarias respectivamente. La base fraccionaria de una base
corresponderá siempre a la parte fraccionaria de otra, por lo tanto, NE puede ser convertido con el método
de la división desarrollado anteriormente y la parte fraccionaria NF convertida en forma separada como
sigue:
NF = A-1 • r-1 + A-2 • r-2 + A-3 • r-3 +. . .
como el problema se reduce a determinar los coeficientes A-1, A-2, A-3, etc., para la base r y notando que
cada uno de estos coeficientes es por sí mismo un entero, tenemos que al multiplicar por r se obtiene:
r • NF = A-1 + A-2 • r-1 + A-3 • r-2 +. . .
donde la parte entera de r • NF es A-1 y por tanto,
A-1 = r • NF - ( A-2 + A-2 • r-1 + A-3 • r-2 + . . . . . . )
ahora, restando el ya conocido A-1 a r • NF se obtiene:
r • NF – A-1 = A-2 • r-1 + A-3 • r-2 + . . .
con lo que ahora estamos en condiciones de obtener A-2 usando el mismo método anterior.
r • (r • NF – A-1 ) = A-2 + A-3 • r-1 + . . . por lo tanto
A-2 = r • (r • NF – A-1 ) – (A-3 • r-1 + . . . )
Este proceso continúa hasta obtener tantos coeficientes como se deseen.
Ejemplo 25 :
Convertir el número 653.6110 a base 2.
Solución a la parte fraccionaria:
2 • (0.61) = 1.22
2 • (0.22) = 0.44
2 • (0.44) = 0.88
2 • (0.88) = 1.76
2 • (0.76) = 1.52
2 • (0.52) = 1.04
2 • (0.04) = 0.08
.
.
.
Curso Electrotecnia
A-1 = 1
A-2 = 0
A-3 = 0
A-4 = 1
A-5 = 1
A-6 = 1
A-7 = 0
VPG/1.13
Capítulo I. Representación de la Información
De un ejemplo anterior :
65310 = 1 0 1 0 0 0 1 1 0 12
Por lo tanto,
653.6110 = 1 0 1 0 0 0 1 1 0 1.1 0 0 1 1 1 02
d) Método de la Sustracción de Potencias.
Este método es usado de preferencia para la conversión decimal a otra base r, debido a que la aritmética
utilizada en la conversión se realiza en la base en que se encuentra el número.
Sea N tal que:
n
N = An • r + An-1 • r
n-1
+. . . . . . + A0 • r
0
El procedimiento consiste en los siguientes dos pasos:
1.
i
Sustraiga la potencia más alta de la forma Ai • r , contenida en el número y registre al valor de Ai en
el dígito más significativo de la base r. ( A está en {0, 1, . . . (r-1)} ).
2. Repita el proceso de sustracción con las diferencias resultantes y potencias descendentes de r
i
(regitrando los A ) hasta que la diferencia resultante sea cero.
Convertir 4510 a base 8.
Ejemplo 26:
Las tres primeras potencias de 8 son:
3
2
8
↓
512
8
↓
64
1
8
↓
8
0
8
↓
1
1
La potencia de 8 más alta contenida en 45 es 1, es decir, 8 = 8; la potencia de la forma A • r más alta
contenida en 45 es 5 • 8 = 40 (6 • 8 = 48, se pasa) entonces: A1 = 5; Luego, 45 - 40 = 5. La potencia más
0
0
alta contenida en 5 es 8 = 1, con lo que 5 = 5 • 8 por tanto
Ejemplo 27:
A0 = 5 Luego, 5 - 5 = 0. Y entonces
Convertir 4510 a base 2.
Algunas potencias de 2 son:
-
25
↓
32
-
24 2 3
↓ ↓
16 8
22
↓
4
21 20
↓ ↓
2 1
-
4
3
1
5
2
3
8
5
4
1
1
0
4510 = 558
5
→ 1
•
2
→ 1
•
23
→ 1
•
22
→ 1
•
20
Por lo tanto
4510 = 1011012
1.4.2. Métodos Rápidos.
Los métodos rápidos son en realidad casos especiales de los métodos generales descritos en el apartado
anterior y aplicables por lo tanto a casos particulares.
Curso Electrotecnia
VPG/1.14
Capítulo I. Representación de la Información
a) Conversión por Tablas.
Es el método más usado cuando se trata de números pequeños como por ejemplo del 0 al 1610
Tabla 1.2 Ejemplos de sistemas numéricos
Decimal
Binario
Octal
Hexadecimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
b) Agrupación de Dígitos.
Utilizando alguno de los métodos anteriores puede mostrarse que:
2001.28 = 010 000 000 001.0102
Si partimos con el número en binario, agrupando los bits en unidades de a tres en ambas direcciones a
partir del punto binario, para luego convertir cada grupo a octal utilizando por ejemplo la tabla del punto
anterior, obtendremos lo siguiente:
N = 010 000 000 001 010
↓
↓
↓
↓
↓
2
0
0
1
N = 2001.28
2
Esta sencilla conversión fue posible debido a que las bases están relacionadas por la expresión: 8 = 23,
siendo el exponente el que sugiere la agrupación de a tres.
El siguiente algoritmo generaliza esta técnica para la conversión entre dos bases cualesquiera en que una
sea potencia entera de la otra.
Algoritmo.
¾
Para convertir un número N desde una base r a una base s cuando s = rk y k es un entero, agrupar los
dígitos del número N en base r, en unidades de k dígitos en ambas direcciones a partir del punto base
y luego convertir cada grupo de k dígitos a la base s.
¾
Para convertir un número N desde la base s a la base r cuando s = rk y k es un entero, simplemente
convertir cada dígito en base s a k dígitos en base r.
Curso Electrotecnia
VPG/1.15
Capítulo I. Representación de la Información
Ejemplo 29:
Convertir N = 1011011.10101112 a base 8
N = 1 011 011. 101 011 100
↓
1 3
Ejemplo 30:
N =
↓
↓
↓
↓
3
5
3
N = 133 . 5348
4
Convertir AF.16C16 a base 2.
Convertir AF.16C a base 2
A
F.
1
6
C
↓
↓
↓
↓
N=
↓
Convertir AF.16C a base 4
F
1
6
C
A
↓
↓
22
1010 1111 0001 0110 1100
N = 10101111 . 000101101100
↓
↓
33
01
12
N = 2233 . 011230
↓
30
Al no disponerse (o no saber construir) una tabla de base 4, este ejemplo puede ser resuelto pasando
primero a base 2 y luego a base 4, de la siguiente forma:
N =
Convertir AF.16C a base 2
A
F.
1
6
C
↓
↓
↓
↓
↓
1010 1111. 0001 0110 1100
↓
↓
↓
↓
↓
22
33
01
12
30
N = 2233 . 011230
1.5. Complementos.
Los complementos son usados en computadores digitales para simplificar la operación de resta y para
manipulaciones lógicas. Hay dos tipos de complementos para cada sistema de base r:
a) El complemento a r, y
b) El complemento a (r -1).
Para el sistema binario (r = 2); estos dos tipos de complemento reciben los nombres de: complemento a 2,
y complemento a 1, respectivamente.
En el caso del sistema decimal (r = 10); estos dos tipos de complemento reciben los nombres de:
complemento a 10, y complemento a 9, respectivamente.
1.5.1. Complemento a r.
Si se tiene un número positivo en base r con una parte entera de "n" dígitos. El complemento a r de "n"
esta definido por :
Curso Electrotecnia
VPG/1.16
Capítulo I. Representación de la Información
C(N)r = rn - N
para N ≠ 0
C(N)r = 0
para N = 0
Los siguientes ejemplos numéricos podrán ayudar a clarificar la definición:
Ejemplo 32.- El complemento a 10 de 5252010 es: 47480. Como el número de dígitos es n = 5 entonces
105 - 52520 = 47480.
Ejemplo 33.- El complemento a 10 de 0.326710 es: 0.6733. Como no tiene parte entera entonces n = 0,
por lo tanto :
100 - 0.3267 = 0.6733.
Ejemplo 34.- El complemento a 10 de 25.63910 es: 74.361. Como la parte entera es n = 2 entonces: 102
- 25.639 = 74.361.
Ejemplo 35.- El complemento a 2 de 1011002 es: 010100. C2 (101100) = 26 - 1011002 =
1000000 - 101100 = 010100
Ejemplo 36.- El complemento a 2 de 0.01102 es : 0.1010. C2 (0.0110) = 20 - 0.01102 =
12 - 0.01102 = 0.1010
De la definición y de los ejemplos, es claro que el complemento a 10 de un número decimal puede ser
formado dejando todos los dígitos menos significativos ceros, sin cambiar; restando el primer dígito menos
significativos distintos de cero desde 10; y restando todos los otros dígitos más significativos desde 9.
El complemento a 2 puede ser formado dejando sin cambiar todos los dígitos menos significativos ceros y
el primer dígito menos significativo distinto de cero; y reemplazando los "unos" por "ceros" y los "ceros"
por "unos" en todos los otros dígitos más significativos. Un tercer método simple para obtener el
complemento a r es dado más adelante en la definición del complemento a r - 1.
El complemento a r de un número existe para cualquier base r (r > 1) y puede ser obtenido desde la
definición dada anteriormente. En los ejemplos se usaron números con r = 10 (decimal) y r = 2 (binario),
porque esas son las dos bases de más interés para nosotros. El nombre del complemento es relativo a la
base del número usado. Por ejemplo, el complemento a r - 1 de un número en base 11 es llamado
complemento a 10, puesto que r - 1 = 10 para r = 11.
1.5.2. Complemento a r-1.
Dado un número positivo N en base r con una parte entera de n dígitos y una parte fraccionaria de m
dígitos. El complemento a r - 1 de N es definido como:
C(N)r-1 = rn - r-m - N
Ejemplo 37.- El complemento a 9 de 5252010 es:
como n = 5 y m = 0 entonces: C(52520)9 = 105 - 100 - 52520 = 99999 - 52520 = 47479
Ejemplo 38.- El complemento a 9 de 0.326710 es:
como n = 0 y m = 4 entonces: C(0.3267)9 = 1 – 10-4 - 0.3267 = 0.9999 - 0.3267 = 0.6732
Ejemplo 39.- El complemento a 9 de 25.63910 es:
Curso Electrotecnia
VPG/1.17
Capítulo I. Representación de la Información
C(25.639)9 = 102 - 10 −3 - 25.639 = 99.999 - 25.639 = 74.360.
Ejemplo 40.- El complemento a 1 de 1011002 es:
C1(101100) = (22)10 - (20)10 - (101100) = 1000000 - 1 - 101100 = 111111 - 101100 = 010011
Ejemplo 41.- El complemento a 1 de 0.01102 es:
C1(0.0110) = (20)10 - (2-4)10 - 0.01102 = (0.1111 - 0.0110)2 = 0.1001.
De los ejemplos, se puede ver que el complemento a 9 de un número decimal está formado simplemente
por la resta de todos los dígitos desde 9. El complemento a 1 de un número binario es muy simple de
obtener: "unos" son cambiados por "ceros" y los "ceros" por "unos". Puesto que el complemento a r - 1 es
fácilmente obtenido, algunas veces es conveniente usarlo cuando se desea el complemento a r. De la
definición, y comparando los resultados obtenidos en los ejemplos, el complemento a r puede ser
obtenido del complemento a r - 1 después de sumarle r-m al dígito menos significativo. Por ejemplo el
complemento a 2 de 10110100 es obtenido del complemento a 1 de 01001011 sumándole 1; lo que da
como resultado 01001100.
El complemento del complemento da como resultado un número que es el valor original. El complemento
a r de N es rn - N y el complemento de rn - N es rn – (rn – N) = N; y similarmente para el complemento a r
- 1.
1.5.3. Resta con Complemento.a) Resta con complemento a r.
El método directo de resta utilizado en la escuela primaria usa el del concepto de "prestamo". En este
método se pide un préstamo de 1 a la siguiente posición más significativa, cuando el minuendo es menor
que su correspondiente sustraendo. Este método es muy fácil cuando se ejecutan restas con papel y lápiz.
Cuando la resta es implementada por medio de componentes digitales, éste método es menos eficiente
que el método de complemento y suma, expuesto a continuación.
La resta de dos números positivos (M - N), ambos de base r, se puede obtener haciendo
1) Sume al minuendo M el complemento a r del sustraendo N;
2) Inspeccione el resultado obtenido en el paso (1) y para el acarreo final:
a) si existe, descártelo;
b) si no existe, tome el complemento a r del reultado obtenido del paso (1) y colóquele un
signo menos delante.
Ejemplo 42.- Usando el complemento a 10, sustraiga 72532 - 3250
M = 72532; N = 03250 ⇒ complemento a 10 de N = 96750 entonces:
+
1
7
9
6
2
6
9
5
7
2
3
5
8
2
0
2
Acarreo final = 1; resultado final es 72532 - 3250 = 69282
Ejemplo 43. Reste (3250-72532)10 M = 03250; N = 72532 ⇒ complemento a 10 de N es 27468
entonces:
Curso Electrotecnia
VPG/1.18
Capítulo I. Representación de la Información
0 3 2 5 0
+ 2 7 4 6 8
3 0 7 1 8
no hay acarreo; el conmplemento a 10 de 30718 es 69282 Por lo tanto, 3250 - 72532 = -69282
Ejemplo 44.- Usando complemento a 2 reste M - N con:
a) M = 1010100 y
N =1000100. Complemento a 2 de N = 0111100
+
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
0
0
El acarreao es 1, Entonces 1010100 – 1000100 = 10000
b) M = 1000100
y
N = 1010100 Complemento a 2 de N = 0101100
1
+ 0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
como no hay acarreo, entonces se calcula el complemento a 2 del resultado de la suma y ese número,
antecedido del signo menos es el resultado de la resta.
C2 (1110000) = 0010000 ⇒ M - N = -10000
La prueba del procedimiento es:
La suma de M al complemento de r da M + rn - N. Para números con parte entera de n dígitos, rn es igual
a uno (1) en la posición (n+1) (que ha sido llamada "end carry"). Puesto que ambos M y N se asumen
positivos, entonces:
a) (M + rn - N) ≥ rn ; si M ≥ N
o
b) (M + rn - N) < rn ; si M < N.
En el caso a) la respuesta es positiva e igual a M - N ; lo cual es obtenido directamente descartando el end
carry rn .
En el caso b) la respuesta es negativa e igual a -(N - M). Este caso es detectado con la ausencia del end
carry. La respuesta es obtenida tomando un segundo complemento y anteponiéndole el signo negativo:
- [rn - ( M + rn - N ) ] = - ( N - M )
b) Resta con complemento a (r - 1).
El procedimiento para restar con complemento a (r - 1) es exactamente igual que el usado con
complemento a r, con sólo una variación; llamada "end around carry". La resta de M - N, ambos números
positivos en base r, puede ser calculada de la siguiente forma.
1)
Se suma el minuendo al complemento a r-1 del sustraendo N;
2)
Inspeccionándose el resultado obtenido en el paso anterior, para el end carry:
Curso Electrotecnia
VPG/1.19
Capítulo I. Representación de la Información
a) si el end carry ocurre, se suma 1 al dígito menos significativo (end around carry);
b) si el end carry no ocurre, se toma el complemento a r-1 del número obtenido en el paso (1)
y se le antepone un signo negativo.
Ejemplo 45:
M = 72532 N = 03250. Solución. El complemento a 9 de N = 96749 la suma es:
+
1
7
9
6
2
6
9
5
7
2
3
4
8
2
9
1
Dado que el carry end around es 1 se debe sumar 69281 + 1 = 69282 Por lo tanto:
Ejemplo 46.
M = 03250 ; N = 72532. Solución. El complemento a 9 de N = 27467; la suma es:
0
+ 2
3
3
7
0
2
4
7
5
6
1
0
7
7
No hay acarreo. El complemento a 9 de 30717 = 69282. Por lo tanto,
Ejemplo 47
es:
M - N = 69282
M = 1010100
M - N = -69282
N = 1000100. Solución. El complemento a 1 de N es 0111011 la suma
+
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
Hay acarreo, por lo tanto se debe hacer la suma 0001111 + 1 = 0010000 ⇒ M - N = 10000
Ejemplo 48 M = 1000100 N = 1010100. Solución. El complemento a 1 de N es 0101011 la suma es:
+
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
1
1
No hay acarreo. El complemento a 1 de 1101111 es 0010000;
0
1
1
Por lo tanto:
M - N = -10000
1.5.4. Comparación entre complemento a 1 y complemento a 2.
Una comparación entre ambos complementos releva las ventajas y desventajas de cada uno. El
complemento a 1 tiene la ventaja de ser más fácil de implementar por componentes digitales, ya que
sólamente se cambian los unos por ceros y los ceros por unos. La implementación del complemento a 2
puede ser otenida de dos formas:
a)
Sumando un 1 al dígito al dígito menos significativo del complemento a 1; o
b)
Dejando todos los ceros de las posiciones menos significativas y el primer uno (1) sin cambiar ; y
cambiando el resto de los unos por ceros y viceversa.
Durante una resta de dos números usando complementos, el complemento a 2 tiene la ventaja de que
requiere sólo una operación de suma, mientras que el complemento a 1 requiere de dos operaciones de
suma cuando ocurre el end around carry.
Curso Electrotecnia
VPG/1.20
Capítulo I. Representación de la Información
El complemento a 1 tiene la desventaja adicional de poseer dos ceros aritméticos: uno con todos ceros y
otro con todos unos. Para ilustrar este hecho, consideremos la resta entre dos números binarios iguales
1100 - 1100 = 0
Usando complemento a 1 :
1
+ 0
1
1
0
1
0
1
1
Usando complemento a 2
0
1
1
Complementando este resultado
+
1
1
0
0
1
1
0
0
0
0
0
0
0
Entonces, como hay acarreo
1100 - 1100 = - 0000
1100 - 1100 = 0000
Mientras que el complemento a 2 posee sólo un cero aritmético, el complemento a 1 puede tener uno
positivo o negativo; lo cual puede complicar su uso.
Los complementos son muy utilizados para manipulaciones aritméticas en computadores digitales. Sin
embargo, el complemento a 1 es también muy usado para manipulaciones lógicas, ya que cambiar los
ceros por unos y viceversa es equivalente a una operación lógica inversa.
El complemento a 2 generalmente es usado en aplicaciones aritméticas.
1.5.5 Representación BCD de números enteros.
Binary-coded decimal (BCD 8421) es un sistema numérico usado en sistemas computacionales y
electrónicos para codificar números enteros positivos y facilitar las operaciones aritméticas.
En BCD, cada cifra que representa a un dígito decimal (0, 1, ...8 y 9), se representa con su equivalente
binario en 4 bits (esto es así porque 4 es el número de bits necesario para representar el 9, el número
más alto que debe ser representado en BCD).
Como con cuatro bits se tienen 16 combinaciones posibles y los dígitos a representar son 10, existen
seis combinaciones que no se utilizan. Una consecuencia de esto, entre otras, es que es posible tener
varios códigos BCD diferentes. Basta asignar a cada digito decimal una combinación distinta para
obtenerlos. La forma “natural” de asignarlos es en orden ascendente partiendo del 0000. Con esto se
obtiene la representación BCD más utilizada y conocida como BCD natural, la que se muestra en la tabla
siguiente.
Como se observa en la tabla, con el BCD sólo se utilizan 10 de las 16
posibles combinaciones que se pueden formar con números de 4, por
lo que el sistema pierde capacidad de representación, aunque se
facilita la compresión de los números. Esto es porque el BCD solo se
usa para representar cifras no números en su totalidad. Esto quiere
decir que para números de más de una cifra hacen falta, para
componerlo, tantos números BCD, como cifras tenga el número. A
primera vista esto puede parecer más engorroso pero en realidad de
cara al cálculo y la programación de sistemas digitales es sumamente
práctico ya que permite trabajar de hecho con números decimales
ordinarios haciendo uso solo de los dos bits posibles que otorga un
circuito digital típico H (1) / L (0). Algo que como se verá resulta muy
útil.
Decimal
0
1
2
3
4
5
6
7
8
9
BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Entonces, para representar un número decimal en BCD, cada digito del número debe estar representado
por cuatro bits.
Curso Electrotecnia
VPG/1.21
Capítulo I. Representación de la Información
Ejemplo 49. El numero decimal 34510 , por ejemplo, en BCD será:
N= 3
4
5
Por lo tanto, 34510 se representa como 01101000101BCD
↓
↓
↓
0011 0100 0101
BCD permite agilizar el proceso de traducción decimal-binario a costa de aumentar el número de bits de
representación.
Ejemplo 50. Convertir el número 10010101BCD a decimal.
N = 1001 0101
↓
9
Por lo tanto, 10010101BCD corresponde al 9510
↓
5
Ejemplo 51. Convertir el número 41510 a BCD Natural.
N= 4
1
7
Por lo tanto, 41710 corresponde al 10000010111BCD
↓
↓
↓
0100 0001 0111
Suma en BCD
La suma en BCD utiliza las mismas reglas de la suma binaria vistas antes. Si una suma de dos números
es menor o igual que 9, el número BCD resultante es válido. Si la suma es mayor que 9, o si se genera un
acarreo el resultado no es válido. En este caso, se suma el número binario 0110 para pasar de nuevo al
código BCD. Si se genera acarreo al sumar 0110, éste se suma al siguiente grupo de 4 bits. En los
siguientes ejemplos se verán los casos que se pueden presentar.
Ejemplo 52.
Sumar los números 01000101BCD (45)10 y 00010010BCD
(12)10.
La suma de la figura 3.11.1. no genera acarreos.
0
0
0
1
0
1
0
0
0
5
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
4
1
5
5
2
7
7
Suma BCD sin acarreo.
Curso Electrotecnia
VPG/1.22
Capítulo I. Representación de la Información
Ejemplo 53. Sumar los números 00111001(39)10 y 01010110(56)10.
La suma de los cuatro bits menos significativos de la figura 3.11.2. genera acarreo.
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
9
0
1
1
1
1
0
1
1
1
0
1
0
1
0
1
3
5
9
9
6
5
5
Suma BCD con acarreo en el dígito BCD menos significativo
Ejemplo 54. Sumar los números 01111001(79)10 y 00110101(35)10.
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
7
3
1
9
5
4
4
Suma BCD con acarreo en dos dígitos
La suma de dígito BCD menos significativo de la figura. genera acarreo, al igual que el segundo dígito
BCD.
Curso Electrotecnia
VPG/1.23
Capítulo I. Representación de la Información
1.6 Códigos.
1.6.1. Introducción.
En los últimos 40 años se ha producido un cambio extraordinario en el mundo de la tecnología. Los
computadores, que eran máquinas lentas y caras controladas por tarjetas perforadas, se han convertido
en poderosas unidades de bajo costo que no ocupan más espacio que un portadocumentos. Al mismo
tiempo, ha invadido nuestro mundo una maraña de cables telefónicos, fibras ópticas, cables submarinos,
enlaces por microondas, canales de televisión y comunicaciones por satélite.
En la intersección de ambos fenómenos se encuentra Internet, resultado directo del cruce entre la
tecnología informática y la tecnología de la comunicación. Pero, a juicio de muchos, este fenómeno no
es más que un primer hito de lo que promete convertirse en una gigantesca revolución de la forma en
que los individuos se comunican, se distraen y trabajan. Hemos entrado en la era de la convergencia
digital.
Según un artículo reciente del Scientific American, esa convergencia es en principio “la unión del audio,
el vídeo y la transmisión de datos en una sola fuente, recibida en un solo aparato y facilitada mediante
una sola conexión.” La tecnología digital ha proporcionado ya un mecanismo para integrar medios que
hasta ahora necesitaban canales diferentes.
La plena convergencia digital augura un acceso a la información en tiempo real en cualquier lugar del
mundo, y la posibilidad de comunicarse con alguien dondequiera que se encuentre mediante un texto,
gráficos, vídeo y audio. De hecho, no parecen existir límites tecnológicos a las posibilidades que se
abren.
1.6.2 Codificación de la información.
La codificación de la información, es una necesidad que surge como consecuencia del estudio de la
naturaleza de la información y de su transmisión..
La información es todo aquello que es captado por los sentidos y llega al cerebro, produciendo un
incremento de nuestros conocimientos o una reacción.
El funcionamiento de las sociedades animales y humanas es posible gracias a la comunicación. Esta se
define como un acto mediante el cual un individuo establece con otro u otros, un contacto que le permite
transmitirles una información. Para que la comunicación se produzca, es necesario disponer de un
conjunto limitado y moderadamente extenso de símbolos que se combinan mediante ciertas reglas,
conocidas por el emisor y receptor, mediante las cuales el emisor representa lo que intenta transmitir.
Se denomina símbolo a un objeto material (audible, visible, etc.) que representa a otro objeto (material o
in material) y que se utiliza para recibir, conservar o transmitir una información relativa al objeto
representado.
Dado que la tecnología digital utiliza símbolos binarios, la base de toda aplicación digital es un sistema
de codificación binario. El código binario permite asignar a los números, letras y caracteres reglas
digitales únicas que pueden registrarse en cinta magnética, discos compactos, DVD y archivos
informáticos. Estos códigos digitales se pueden transmitir fácilmente a través de alambres de cobre, fibra
óptica u ondas radiofónicas. Y, por consiguiente, una vez reducidos a formato digital, los textos, el audio,
los gráficos y el vídeo pueden ser procesados con gran precisión por una sola tecnología común.
La necesidad de codificar en un ambiente digital, tiene su origen en que el operador humano trabaja en
un lenguaje que no es binario; el hombre cuenta y entiende en términos decimales, es decir, de diez en
diez, por consiguiente se hacen necesarios procedimientos o métodos de conversión entre ambos
“lenguajes”, que permitan la comunicación entre el hombre y la máquina. A estos métodos se les da el
nombre general de códigos.
Curso Electrotecnia
VPG/1.24
Capítulo I. Representación de la Información
En realidad, en nuestra vida cotidiana los códigos están presentes por doquier y los utilizamos muy
frecuentemente sin darnos cuenta; son ejemplos de codificación la guía de teléfonos, los semáforos en
las calles, el catálogo de libros en la biblioteca, planos de calles, etc. En todos los casos se trata de
identificar “algo”, (una calle, un teléfono, un libro), mediante un conjunto específico de símbolos.
En resumen, el concepto de código, aunque no sea consciente, es familiar para el ser humano actual. En
el caso de la tecnología digital, la aplicación de este concepto consiste convertir elementos fuente tales
como números decimales, letras y símbolos de puntuación, sonido, video, etc. en elementos binarios y
vicerversa.
1.6.3. Concepto de código.
En un enfoque de mayor formalidad y desde el punto de vista de la tecnología, la definición más general
de código es:
Código Es la correspondencia que asigna a cada símbolo de un alfabeto dado {F1, F2, …..Fn}
denominado alfabeto fuente, una determinada combinación de símbolos de otro alfabeto
{C1, C2, …..Cn}, denominado alfabeto código y viceversa.
La figura 1a). Muestra un código entre dos alfabetos, en que ambos están formados por letras. Pero, no
necesariamente los alfabetos están formados por letras, perfectamente el alfabeto fuente puede ser un
conjunto de objetos y el alfabeto código pueden ser números. Un ejemplo de ello es el descrito en la
figura 1b).
Tabla 1
Alfabeto
Fuente
α
β
χ
δ
ε
φ
Tabla 2
↔
↔
↔
↔
↔
↔
Alfabeto
Código
a
b
c
d
e
f
a) Relaciona dos conjuntos de símbolos
Alfabeto
Fuente
Mesa
Silla
Pizarra
Teléfono
Monitor
Impresora
↔
↔
↔
↔
↔
↔
Alfabeto
Código
01
10
100
101
110
111
b) Relaciona objetos y símbolos
Fig. 1. Ejemplos de códigos.
Realmente, en nuestra vida cotidiana, estamos utilizando códigos continuamente. El ejemplo más
cercano para los chilenos es el RUT, que identifica unívocamente a cada persona nacida en Chile. Otro
caso de codificación muy conocido es el directorio telefónico, el cual asocia a una persona con un
número de teléfono y a través del cual se puede contactar a una persona de entre millones, en unos
pocos segundos. Las patentes de los vehículos es otro ejemplo que asocia automóviles con un código
especialmente diseñado para este propósito.
1.6.4. Propiedades de interés de los códigos.
Dada la gran cantidad de códigos diferentes que se pueden crear atendiendo a la definición general de
código efectuada anteriormente, se limita el estudio a aquellos códigos que presenten ciertas
propiedades suplementarias que les hacen útiles.
Curso Electrotecnia
VPG/1.25
Capítulo I. Representación de la Información
A cada secuencia de símbolos que se pueden formar con el alfabeto código, se le llama palabra de
código. Al número de símbolos Ci que contiene la palabra de código se llama longitud de palabra. Y al
número de símbolos distintos que componen el alfabeto código se le llama base del código.
Ejemplo. Si el alfabeto fuente está formado por los símbolos {α, β, χ, δ} y el alfabeto código por {0, 1},
un posible código, con palabras de longitudes dos y tres simultáneamente y con base de
código 2 es el representado en la Tabla 3
Tabla 3
Símbolos
fuente
α
β
χ
δ
→
→
→
→
Palabras
de código
01
10
101
010
Evidentemente, un sistema de numeración (cualquiera sea la base) es un código que permite
representar todos los números comprendidos entre 0 y ∞.
ƒ
Código uniforme. Un código es uniforme si a cada símbolo fuente le corresponde una palabra
de código. A los códigos que cumplen esta propiedad se le denomina también códigos de
bloque.
ƒ
Código no singular. Un código uniforme es no singular si a cada símbolo fuente le corresponde
palabras de código distintas.
Ejemplo. El código de la Tabla 4. siguiente cumple las dos propiedades anteriores, es uniforme y no
singular.
Tabla 4. Código uniforme y no singular
Símbolos fuente
Palabras de código
→
0
α
→
1
β
→
00
χ
→
11
δ
Las palabras que resultan de codificar todas las parejas de símbolos del alfabeto fuente de la Tabla 4,
están representadas en la Tabla 5. A este código se le llama extensión de orden dos del código de
partida.
Tabla 5. Extensión de orden dos de un código
Símbolos
Palabras
Símbolos
Fuente
de código
Fuente
00
→
→
αα
χα
01
→
→
αβ
χβ
000
→
→
αχ
χχ
011
→
→
αδ
χδ
10
→
→
βα
δα
11
→
→
ββ
δβ
100
→
→
βχ
δχ
111
→
→
βδ
δδ
Curso Electrotecnia
Palabras
de código
000
001
0000
0011
110
111
1100
1111
VPG/1.26
Capítulo I. Representación de la Información
Se aprecia que, aunque todas las palabras de código de partida son diferentes, como se puede ver en la
Tabla 4, es posible encontrar una secuencia de palabras código, en la Tabla 5, con origen indefinido. Así
por ejemplo la secuencia 111 puede corresponder a la pareja de símbolos fuente βδ ó a δβ. De esto se
deduce que el código de partida, aun siendo no singular, da origen a secuencias de símbolos del
alfabeto código iguales. Es decir, se producen extensiones de código singulares.
Lo anterior muestra que en una transmisión digital no se puede obtener, de forma unívoca, la secuencia
de símbolos fuente, partiendo de la secuencia de símbolos código recibidos y cuestiona la necesidad de
definir una nueva condición más restrictiva que la uniformidad y la no singularidad para que el código
sea utilizable. Esta condición es Decodificación unívoca.
ƒ
Decodificación unívoca. Un código es unívocamente decodificable si y solo si su extensión de
orden n es no singular para cualquier valor finito n.
Esta propiedad asegura que dos secuencias cualesquiera de símbolos fuente, de la misma longitud, dan
lugar a secuencias distintas de símbolos de código. De la definición de esta propiedad se deduce que
también será necesario que la condición se cumpla en secuencias de símbolos fuente de longitud
distinta.
Ejemplos.
En la tabla 6 se muestran tres ejemplos de códigos unívocamente decodificables.
El código A es la forma más sencilla y utilizada de crear códigos unívocamente decodificables.
Este código es no singular y con palabras de igual longitud o longitud fija. Estas dos propiedades
son suficientes para garantizar la decodificación unívoca.
Tabla 6. Códigos unívocamente decodificables
Símbolos
Código
Código
Código
Fuente
A
B
C
00
0
0
→
α
01
01
10
→
β
10
011
110
→
χ
11
0111
1110
→
δ
El código B, también es unívocamente decodificable. Es no singular y aunque no tiene longitud
fija, el símbolo 0 separa una palabra de la siguiente, por lo que implícitamente se conoce la
longitud de cada palabra. Este tipo de códigos reciben el nombre códigos coma. Así, el símbolo
coma puede interpretarse como el lugar donde termina una palabra y comienza la siguiente.
El código C es también unívocamente decodificable. Se diferencia de los códigos A y B en el
siguiente aspecto importante: si se reciben secuencias binarias en el código C, no se pueden
identificar las palabras de la secuencia según se van recibiendo los dígitos binarios. Por ejemplo
al recibir 01, primero se recibe el 0 y posteriormente el 1, no pudiéndose asegurar que el símbolo
fuente es β, mientras no se reciba el bit siguiente. Si el bit siguiente es 0, efectivamente el símbolo
fuente es β, pero, si es 1, hay que esperar a otro bit para asegurar que el símbolo fuente es χ,
puesto que si el bit es 1, se ha recibido la secuencia 0111 y el símbolo correspondiente sería δ.
La diferencia que presenta el código C, con respecto a los códigos A y B denota la necesidad de
identificarla definiendo una nueva propiedad.
Curso Electrotecnia
VPG/1.27
Capítulo I. Representación de la Información
ƒ
Decodificación Instantánea. Se denomina instantáneo, a un código unívocamente decodificable,
cuando éste permite decodificar sin ambigüedad las palabras contenidas en una secuencia de
símbolos del alfabeto código, sin necesitar el conocimiento de los símbolos que les suceden.
No siempre es sencillo determinar cuando un código permite decodificación instantánea, como en los
casos anteriores de los códigos A, B y C. es necesario disponer de una regla general que permita
fácilmente identificar a los códigos instantáneos.
Definición. Sea una palabra de código cualquiera C1 C2 … Cs. Se denomina prefijo de esta palabra a
una secuencia de símbolos C1 C2 … Ci , donde i ≤ s .
Ejemplo. La palabra 1010 tiene cuatro prefijos: 1010, 101, 10 y 1.
La condición necesaria y suficiente para que un código se instantáneo es que ninguna de las palabras
sea prefijo de otra.
Ejemplo.
A partir de la Tabla 6, se calculan los prefijos de cada palabra de código. Para los códigos A y B se
prueba fácilmente que ninguna de sus palabras código son prefijos del resto de las palabras código. Así
lo muestran la Tabla 7 y la tabla 8.
Tabla 7. Prefijos del código A
Código A
Prefijos De A
00
00
0
01
01
0
10
10
1
11
11
1
Tabla 8. Prefijos del código B
Código B
Prefijos De B
00
0
01
10
1
10
110
11
1
11
1110
111
11
1
Sin embargo, en la Tabla 9, que representa el código C y sus prefijos, se aprecia cómo la palabra código
0 es prefijo de todas las demás palabras código; la palabra 01 es prefijo de 011 y 0111; la palabra código
0111 es prefijo de la palabra código 01111. Por los que este código no es instantáneo, como ya se
había observado anteriormente.
Tabla 9. Prefijos del código C
Código C
Prefijos De C
0
0
01
01
0
011
011
01
0
0111
0111
011
01
0
La figura 2 muestra un resumen de las propiedades de códigos definidas hasta aquí. Están
representadas gráficamente las cinco diferentes subclases de código que corresponden cada una de
ellas con las terminaciones de las ramificaciones.
Códigos
No Bloque o no
uniforme
De Bloque o
uniforme
Singulares
No Singulares
No unívocos
Unívocos
VPG/1.28
Curso Electrotecnia
No instantáneos
Fig. 2
Instantáneos
Resumen de propiedades de los códigos
Capítulo I. Representación de la Información
1.6.5. Características generales de un código.
Para realizar un código pueden emplearse dos procedimientos generales:
1. El conjunto de elementos u objetos a codificar se representa, en el código, por un solo signo.
Los signos necesarios deben separarse en un grupo de símbolos; el número de estos símbolos
debe ser por lo menos igual al número de objetos que deben identificar (unívoco). En este caso,
la identificación de un objeto necesita solamente una información.
Ejemplo. Supongamos que se desea codificar los siguientes elementos de oficina (objetos a
codificar): Mesa, silla, Impresora, Teléfono, Monitor y Pizarra. Para aplicar el método descrito se
puede elegir por ejemplo un subconjunto de símbolos del alfabeto castellano, sean estos a, b, c,
d, e y f, con lo cual se puede establecer el siguiente código.
Tabla 10.
Código
Mesa
↔
Silla
↔
Pizarra ↔
Teléfono ↔
Monitor ↔
Impresora ↔
a
b
c
d
e
f
2. Cada objeto del conjunto a codificar está representado en el código por una yuxtaposición de
signos. Los signos necesarios pueden separarse en un grupo de símbolos y con la yuxtaposición
de un pequeño número de estos símbolos codificar un número mayor de objetos.
Ejemplo. Utilizando los signos a, b, 1, 2 y 3 se puede realizar el siguiente código:
Tabla 11
Código
Mesa
↔
Silla
↔
Pizarra ↔
Teléfono ↔
Monitor ↔
Impresora ↔
a1
a2
a3
b1
b2
b3
Se tiene que con 5 signos se pueden codificar 6 objetos.
Ejemplo 2. Un ejemplo mucho más representativo es sin duda la codificación de la patentes de
los automóviles, en el que con 26 letras y 10 dígitos (un total de 36 signos), al yuxtaponerlos, se
codifican millones de objetos (automóviles).
Para identificar un conjunto de N objetos distintos pueden emplearse los dos métodos expuestos antes,
pero con numerosas variantes basadas en dichos procedimientos y que se adoptan de acuerdo con el
número de objetos distintos que deben identificarse.
Curso Electrotecnia
VPG/1.29
Capítulo I. Representación de la Información
Ejemplo 3. Supongamos que se desean identificar 22 objetos distintos (N=22). Pueden
adoptarse varias soluciones:
Solución 1.
Representar cada objeto por una letra del alfabeto (código alfabético). Cada objeto está
representado en el código por un solo signo, que se ha elegido de entre 26 letras que
constituyen el alfabeto. Para ello se debe disponer de un codificador que puede tomar 22
estados diferentes y cada objeto está codificado por un estado de este dispositivo. Este
procedimiento intuitivo de codificación es muy utilizado en la vida cotidiana por su simplicidad y
evidencia, pero, existe el inconveniente que, para conjuntos de un número relativamente elevado
de objetos (por ejemplo 1000 objetos), resulta difícil establecer y memorizar los símbolos
necesarios. Con un código como el expuesto, solamente se necesita una información para
identificar un objeto.
Solución 2.
Representar cada uno de los 22 objetos distintos por un número decimal. (código numérico). En
este caso, cada objeto está representado por la yuxtaposición de dos signos cada uno de los
cuales es elegido de entre los diez dígitos decimales (sin embargo, el primer signo se elige de
entre las tres primeros dígitos 0, 1 y 2). Cada número del código comprende dos signos,
obtenidos del mismo grupo de 10 símbolos. En este caso la identificación de un objeto necesita
de dos informaciones.
Solución 3.
Representar cada uno de los 22 objetos distintos por un número binario (también se trata de un
código numérico). Ahora cada objeto está representado por la yuxtaposición de 5 dígitos, cada
uno de los cuales está elegido entre las dos cifras del sistema binario (0 y 1). En este caso la
identificación de un objeto necesita de cinco informaciones.
Tabla 12. Código
Objeto-1
↔
Objeto-2
↔
Objeto-3
↔
Objeto-4
↔
Objeto-5
↔
Objeto-6
↔
Objeto-7
↔
Objeto-8
↔
Objeto-9
↔
Objeto-10
↔
Objeto-11
↔
binario para 22 objetos
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
Objeto-12
Objeto-13
Objeto-14
Objeto-15
Objeto-16
Objeto-17
Objeto-18
Objeto-18
Objeto-19
Objeto-21
Objeto-22
↔
↔
↔
↔
↔
↔
↔
↔
↔
↔
↔
01011
01100
01101
01110
01111
10000
10001
10010
11011
11100
11101
A propósito de lo dicho hasta ahora, se pueden hacer tres observaciones, que tienen gran importancia
para comprender las materias que se explican a continuación:
1. En las tres soluciones propuestas se tiene:
a) En la primera solución, la cantidad máxima de signos disponibles para realizar la asignación
es de 26 (ya que hay 26 letras en el alfabeto) y solamente se necesitan 22 símbolos. En este
caso se dice que la capacidad del código es de 26 y que se trata de un código redundante,
puesto que existen más posibilidades en el código que objetos a codificar.
b) En la segunda solución la capacidad del código es de 30, aunque solamente se han de
codificar 22 objetos: también se trata de un código redundante y en mayor grado que el
anterior.
c) En la tercera solución, la capacidad del código es de 32 (desde el 010 o 000002 hasta el 3110 o
111112). Como solo se codifican 22 objetos, también se trata de un código redundante.
Curso Electrotecnia
VPG/1.30
Capítulo I. Representación de la Información
2. La ausencia de objetos puede constituir también un objeto que debe codificarse: ha de encontrarse
un símbolo en el código que exprese la ausencia de objetos. Por consiguiente, en el caso de 22
objetos, se necesita un código que tenga por lo menos una capacidad de 23. En estas circunstancias
todas las soluciones propuestas resultan válidas.
3. En todos los casos se necesitan dispositivos tecnológicos que puedan, cada uno de ellos, tomar
cierto número de estados diferentes. Se podría demostrar que este número de estados diferentes
disminuye a medida que crece el número de informaciones necesarias para identificar un objeto. Es
decir, cuando más simple es el dispositivo codificador, mayor número de informaciones (por tanto
dispositivos codificadores), se necesita para identificar un objeto en un conjunto de N objetos. Es
evidente que se puede suponer que hay una capacidad de código óptima; ello es efectivo y se
tratará más adelante.
1.6.6. Códigos Numéricos.
Son códigos numéricos aquellos en que los alfabetos están formados por números. Los números en el
contexto de este texto son "palabras de código" que representan valores numéricos.
Los códigos de uso común normalmente son diseñados para optimizar alguno de los siguientes criterios:
1) Minimizar la complejidad de la ejecución de las operaciones aritméticas en un sistema numérico
dado. Este criterio determina también, en gran medida, la velocidad de las operaciones aritméticas.
2) Facilitar la conversión a y desde la notación decimal estandar a cualquier otra notación requerida
para entrada y salida.
3) Facilitar la detección y corrección de errores.
4) Maximizar la eficiencia de utilización de dispositivos de almacenamiento.
1.6.6.1. Códigos numéricos de bases relacionadas por una potencia entera de dos.
Los sistemas numéricos relacionados por una potencia entera de dos (octal y hexadecimal) fueron, de
hecho, los primeros códigos usados en equipos digitales, siendo aún utilizados en pequeños sistemas
basados en "microprocesadores".
La tabla 13 siguiente muestra la equivalencia entre sistema de numeración decimal, binario, octal y
hexadecimal, para los primeros 16 dígitos decimales.
Tabla 13. Sistemas de numeración Decimal, binario, octal y hexadecimal
Decimal
Binario
Octal
Hexadecimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Curso Electrotecnia
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1001
1010
1011
1110
1111
00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
VPG/1.31
Capítulo I. Representación de la Información
La necesidad de los primeros códigos utilizados es estos sistemas, nace de la alta probabilidad de error
por parte de un operario humano, al ingresar información binaria. Como ejemplo ilustrativo, consideremos
un dispositivo digital con capacidad para procesar unidades de información (Instrucciones, Data, etc.) de
cuatro bits. Supongamos que tal dispositivo realiza ciertas operaciones con las instrucciones y datos
mostrados en la tabla 14.
El ingreso de esta información al almacenamiento del dispositivo por parte de un ser humano está muy
expuesto a errores, aumentando a medida que es mayor la cantidad de unos y ceros y esto, sin
considerar lo tedioso del trabajo.
Tabla 14.
Unidades de
información
0 1 0 1
1 1 0 0
0 1 1 1
0 1 1 0
0 0 0 0
En cambio al entrar esta información codificada en octal o hexadecimal sería
como se muestra en la Tabla 15, se reduce sustancialmente la cantidad de
dígitos a entrar, reduciendo también las posibilidades de error.
Tabla 15
Octal
05
14
07
06
00
Hexadecimal.
5
E
7
6
0
El sistema numérico octal es usado en dispositivos de entrada y salida en
sistemas de procesamiento de data digital. La facilidad de codificación y
decodificación de los números del sistema octal lo hacen ideal cuando se
desean aplicaciones de entrada y salida con un mínimo de Hardware. Sin
embargo, los recientes avances en la tecnología de semiconductores y la gran disponibilidad de circuitos
integrados, está desplazando la utilización del sistema octal. Actualmente, la conversión de binario a
decimal y viceversa no requiere gran cantidad de hardware ni espacio excesivo, y como los equipos
digitales están siendo permanentemente actualizados, las operaciones en octal gradualmente
desaparecerán en favor de una más fácil manipulación de los dispositivos de entrada/salida con sistema
decimal.
El sistema hexadecimal, en cambio, continuará encontrando un amplio uso en los computadores digitales
llamados "orientados al carácter".
Los Ingenieros, técnicos y programadores que trabajan estrechamente ligados al computador no
encuentran mayores dificultades en trabajar con estos sistemas numéricos no decimales. El hardware de
conversión es reducido en estos casos sin pérdida de utilidad. Sin embargo, cuando la información es
desplegada a usuarios no orientados al computador debe emplearse el sistema decimal.
1.6.6.2. Capacidad de un código numérico.
En los equipos electrónicos digitales se utilizan, casi exclusivamente, códigos numéricos. Se denomina
capacidad de un código al número total de objetos que se pueden identificar con la aplicación de dicho
código.
Un código numérico que emplea un sistema de numeración de base b y que lleva n cifras yuxtapuestas
(en los códigos numéricos, a las cifras yuxtapuestas se les llama también dígitos), tiene una capacidad
máxima de:
M = bn
Es decir, que permite escribir todos los números desde 0 (incluido) hasta un número A = b n − 1 .
Curso Electrotecnia
VPG/1.32
Capítulo I. Representación de la Información
Por otra parte, n dispositivos de codificación, que pueden tomar, cada uno de ellos, b estados distintos,
tienen la misma capacidad b n , es decir que permiten identificar A = b n − 1 objetos distintos, además de
la ausencia de objetos.
Por consiguiente para identificar N objetos, el código debe ser tal que: A ≥ N , es decir que se puede
cumplir la condición b n ≥ N + 1 .
Se exponen algunos ejemplos de aplicación para aclarar estos conceptos. Se trata de identificar N =
99999 objetos distintos, es decir que la capacidad global del código debe ser de N + 1 = 100.000 .
Recurriendo a los sistemas de numeración estudiados hasta ahora, un código semejante se puede
obtener:
ƒ
ƒ
ƒ
ƒ
Sistema de numeración binario. La potencia de 2 más próxima es: 217 = 131.072 , es decir,
que se necesita como mínimo, un número binario de 17 bits, resultando además un código
redundante.
Sistema de numeración octal. La potencia de 8 más próxima es: 86 = 262.144 , que además
es muy redundante.
Sistema de numeración decimal. La potencia de 10 superior más próxima es: 105 = 100.000 ,
o sea que se necesita un número decimal de 5 dígitos, que además, no es redundante (la
capacidad global del código coincide con el número total de objetos a identificar.
Sistema de numeración hexadecimal. La potencia de 16, superior más próxima es
165 = 1048.576 , resulta un número de 5 dígitos que además es muy redundante.
1.6.6.3. Complejidad de un sistema de codificación.
En un código determinado, para identificar un objeto de entre N objetos a decodificar, se necesitan N
dispositivos que pueden tomar, cada uno de ellos, b estados distintos, siendo la capacidad del código
mayor que el número de objetos N ( A ≥ N ). Es decir, que cuanto menor es b, más sencillo resulta el
dispositivo de decodificación; por el contrario, mayor debe ser el número n de dígitos necesarios.
Entonces, ¿donde está la solución óptima?
Para encontrar esta solución óptima, se define la complejidad de un sistema de codificación por el
producto:
C = nb
Cuanto menor es el producto anterior, es decir, cuanto menor es la complejidad de un código, más
apropiado resulta desde el punto de vista tecnológico. A continuación vamos a hallar la complejidad da
cada uno de los códigos expuestos como ejemplos en los párrafos anteriores.
Código Binario:
Código octal.
Código decimal.
Código hexadecimal
Complejidad
Complejidad
Complejidad
Complejidad
C = nb = 17* 2 = 34.
C = nb = 6*8 = 48.
C = nb = 5*10 = 50
C = nb = 5*16 = 80
De lo expuesto se deduce que el código binario, aunque tiene un gran número de dígitos, desde el
punto de vista de la complejidad es el más apropiado de entre los códigos numéricos utilizados en
electrónica digital. Además, desde el punto de vista tecnológico, está concretizado por elementos muy
sencillos, que pueden tomar solo dos estados distintos; la información necesaria para cada dispositivo
se reduce a la única alternativa: todo o nada. Por todas estas razones, los códigos basados en el
sistema de numeración binario convienen muy especialmente a la técnica de los procesos automáticos
industriales y a los computadores, por lo que el estudio de los códigos estará centrado en los códigos
binarios más empleados en la electrónica digital.
Curso Electrotecnia
VPG/1.33
Capítulo I. Representación de la Información
1.6.7. Códigos binarios.
En un equipo electrónico digital o un computador se utilizan, según sea el caso, para almacenar datos,
controlar procesos industriales, relacionar entre si varias informaciones, etc. En cualquier momento
podemos necesitar uno o más datos, los cuales están almacenados en los equipos electrónicos y para
identificar un dato determinado se necesita un código que permita su localización.
Pero existe una dificultad. En los códigos utilizados cotidianamente se emplea casi siempre el sistema
de numeración decimal, mientras que los sistemas digitales trabajan con el sistema de numeración
binario. Por lo tanto, el número decimal correspondiente al dato deseado debe traducirse previamente a
un número binario para que el equipo digital pueda operar y una vez encontrado el dato, el equipo digital
debe traducir nuevamente el resultado que está expresado en binario, en el sistema decimal que es
sistema que entiende el operario humano.
O sea, que para operar un equipo digital son necesarios los siguientes elementos y operaciones:
1. Un código binario.
2. Un sistema de codificación, que forma parte del equipo digital y que traduce las instrucciones del
operador humano (en sistema decimal) en instrucciones para el equipo digital en el código
binario previamente establecido.
3. La información (ya codificada en binario), recorre los elementos del equipo hasta encontrar el
dato buscado, el cual se dirige a la salida del equipo, dispuesto para ser utilizado por el
operador.
4. Un sistema de decodificación, que también forma parte del equipo digital, y que traduce el dato
solicitado al sistema decimal, legible para el operador humano.
Los códigos que se estudian en este apunte son instantáneos de longitud de palabra fija. Ahora bien, los
códigos instantáneos de longitud de palabra variable tienen una importante aplicación en la transmisión
de señales, donde existen diferentes probabilidades de que aparezcan los distintos símbolos fuente. En
estos casos se asignan las palabras de código más cortas a los símbolos fuente más probables,
minimizándose el número de símbolos a transmitir. Un ejemplo de código instantáneo de longitud
variable es el código Morse.
Los códigos estudiados aquí son aquellos empleados en el proceso de información en vez de los
utilizados en transmisión, por lo que es más práctico utilizar los códigos de longitud física, siendo usual
volver a codificar de nuevo esta información en códigos de longitud variable cuando se transmita la
información.
Como la codificación consiste en establecer una correspondencia entre las palabras de código y los
símbolos fuente, con un código binario de n bits (bn-1, bn-2, ………b1, b0) se pueden obtener 2n
combinaciones (palabras de código) distintas. Lógicamente, cada combinación o palabra de código se
asigna a un símbolo del alfabeto fuente. Pero estas asignaciones, a su vez, se pueden realizar de
diferentes formas, siendo el número posible de estas las permutaciones de 22 combinaciones. Cada
forma de hacer las asignaciones dará lugar a un código diferente, es decir, habrá (2n)(2n-1)……(2)(1)=2n!
posibles códigos.
Ejemplo para codificar el alfabeto fuente {A,B,C,D}, con el alfabeto código {0,1}, son necesarias
palabras de longitud n = 2, ya que 2n = 22 = 4, siendo este el número de símbolos del alfabeto fuente. El
número de códigos distintos que se pueden formar es 2n! = 2! =24, los que se representan en la Tabla 16
Tabla 16 Número de códigos distintos que se pueden formar para codificar un alfabeto fuente dado
A
B
C
D
A
B
D
C
A
C
B
D
A
C
D
B
A
D
B
C
Curso Electrotecnia
A
D
C
B
B
A
C
D
B
A
D
C
B
C
A
D
Símbolo fuente
B B B C C C
C D D A A B
D A C B D A
A C A D B D
C
B
D
A
C
D
A
B
C
D
B
A
D
A
B
C
D
A
C
B
D
B
A
C
D
B
C
A
D
C
A
B
D
C
B
A
Palabra de código
00
01
10
11
VPG/1.34
Capítulo I. Representación de la Información
1.6.7.1. Principales definiciones y propiedades de los códigos binarios.
ƒ
Ponderados.
Son aquellos códigos que a cada dígito binario se le asigna un peso y a cada
palabra de código la suma de los pesos de los dígitos binarios con valor 1, siendo el resultado igual
al número decimal que representan.
Ejemplo. Considerando que la palabra de código 1101 está representada en el sistema binario, su
valor decimal se obtiene al sumar los pesos 1⋅ 8 + 1⋅ 4 + 1⋅ 1 = 13 representando dicha palabra de
código al símbolo fuente 13.
ƒ
Distancia entre dos palabras. Se define como el número de dígitos que deben ser invertidos en
una de ellas para obtener la otra.
Ejemplo. La distancia entre 1011 y 1100 es tres, ya que las dos palabras de código se diferencian en
tres bits.
ƒ
Distancia del código. Se define como la menor de las distancias entre dos cualesquiera de sus
palabras d código.
ƒ
Palabras adyacentes. Dos palabras de código son adyacentes si su distancia es uno, es decir, solo
difieren en un bit.
Ejemplo. La palabra de código 1100 es adyacente a 1101
ƒ
Continuos. So aquellos códigos cuyas palabras consecutivas son adyacentes; es decir, si dos
cualesquiera de sus palabras de código consecutivas sólo difieren en un bit.
ƒ
Cíclicos. Son aquellos códigos que además de ser continuos, la primera y última palabra de código
tambié son adyacentes.
ƒ
Denso. Se define a un código como denso si teniendo una longitud de palabra de n bits, está
formado por 2n palabras de código
ƒ
Autocomplementarios al número N. Son aquellos códigos cuya palabra de código y su
complementada suman N. los códigos con esta propiedad posibilitan efectuar más fácilmente las
operaciones de resta mediante el complemento a N.
1.6.7.2. Clasificación de los principales códigos binarios:
1. Códigos Numéricos
ƒ
ƒ
ƒ
ƒ
Códigos de bases relacionadas por una potencia de dos.
BCD
Ponderado
Natural, Aiken 2421, Aiken 5421,
No Ponderado
Exceso 3
Códigos progresivos
Gray
Johnson
Detectores de errores
Biquinario
2 entre 5
Con bit de paridad
Código Hamming Corrector de errores
2. Códigos alfanuméricos
ƒ
ƒ
Código ASCII
Código estándar ISO-8859.
Curso Electrotecnia
VPG/1.35
Capítulo I. Representación de la Información
1.6.7.3. Códigos decimales codificados en binario (BCD).
Uno de los principales problemas que enfrenta un ingeniero, técnico, programador o cualquier usuario de
un equipo digital (ya sea este computador de control o de medida) es la "conversión de un código
realmente manejable por una persona a un código realmente manejable por un equipo". La mayoría de la
gente puede trabajar mejor con el sistema decimal, mientras que las máquinas trabajan más
eficientemente con el sistema binario.
La mejor solución a este problema se encuentra en los códigos "decimales codificados en binario"
(códigos BCD, Binary Coded Decimal). Diez símbolos únicos (los del sistema decimal) deben ser
representados por una combinación de solamente dos únicos símbolos (los del sistema binario). De esta
forma, si cada dígito de un número decimal se representa por su equivalente binario, se genera el código
llamado decimal codificado en binario.
Puesto que un dígito decimal puede ser tan grande como 9, se requieren 4 bits para codificar cada dígito
(el código binario para 9 es 1001).
Cuatro bits dan como resultado 16 combinaciones, seis de las cuales no son usadas. Las 10
combinaciones necesarias pueden ser obtenidas de cualquiera de las 16 combinaciones posibles,
pudiendo entonces generarse numerosos códigos diferentes, dependiendo de las combinaciones
específicas utilizadas.
Entonces, para representar un número decimal en BCD, cada dígito del número debe estar representado
por cuatro bits. El número decimal 34510 , por ejemplo, en BCD será:
3
4
5
0 0 1 1 0 1 0 0 0 1 0 1
En binario, 34510 se representa como 101011001. Note que para la representación binaria se requieren
solamente 9 bits, en cambio en BCD se requieren 12 bits. Sin embargo, es mucho más fácil reconocer el
número decimal codificado en BCD que en binario, siendo entonces los tres bits adicionales el precio que
hay que pagar por esta comodidad.
Es evidente entonces que el sistema pierde capacidad de representación, aunque se facilita la compresión
de los números. Esto es porque el BCD solo se usa para representar cifras no números en su totalidad.
Esto quiere decir que para números de más de una cifra hacen falta dos números BCD para componerlo.
A primera vista esto puede parecer más engorroso pero en realidad de cara al cálculo y la programación
de sistemas digitales es sumamente práctico ya que permite trabajar de hecho con números decimales
ordinarios haciendo uso solo de los dos bits posibles que otorga un circuito digital típico ON (1) / OFF (0).
Los códigos BCD pueden ser clasificados como "Ponderados o pesados" y "No ponderados o no
pesados". Los códigos pesados siguen la estructura de la notación posicional (cada dígito tiene un "peso"
según sea su posición en el número) y por lo tanto, el número decimal equivalente surge de sumar los
pesos de las posiciones que posean el valor 1. Los valores posicionales no necesariamente tienen que ser
potencias ascendentes de dos; ellas pueden ser asignadas arbitrariamente y aún tener pesos negativos.
De los BCD ponderados, los más importantes son el BCD natural (8 4 2 1), el BCD Aiken 2 4 2 1 y el
BCD Aiken 5 4 2 1.
Curso Electrotecnia
VPG/1.36
Capítulo I. Representación de la Información
a) Código BCD pesado 8-4-2-1. (BCD Natural)
El código BCD pesado más común es el código 8-4-2-1, conocido también como código BCD natural. El
dígito más significativo tiene un peso de 8; el siguiente más significativo un peso de 4 y así
sucesivamente. La correspondencia entre los dígitos decimales y la representación BCD8-4-2-1 se muestra
en la tabla 17.
Tabla 17. Código BCD Natural
Decimal
0
1
2
3
4
5
6
7
8
9
BCD Natural
8 4 2 1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
Peso
Para convertir un número decimal a BCD natural o viceversa, lo único que se requiere es una ligera
familiaridad con el sistema numérico binario. Recordar que cada dígito decimal es representado por cuatro
dígitos binarios cuyos pesos están en el orden 8-4-2-1.
Ejemplo. Convertir el número 41510 a BCD natural.
4
1
5
0 1 0 0 0 0 0 1 0 1 0 1
Entonces 41510 corresponde al 0100 0001 0101BCD
Ejemplo. Convertir el número 10010101BCD (BCD natural) a decimal.
0 1 0 0 0 0 0 1
9
5
Por lo tanto 10010101BCD corresponde al 95 en base 10 (9510 )
Al hacer una comparación entre BCD y binario común, es importante darse cuenta que un número BCD
no es lo mismo que un número binario común. Un código binario común toma el número decimal
completo y lo representa en binario, mientras que el código BCD convierte cada dígito decimal a binario
en forma individual. Para ilustrar, tome el número 137 y compare las representaciones binarias común y
codificada en BCD:
13710 = 10001001
13710 = 0001 0011 0111
Binario
BCD
El código BCD requiere 12 bits mientras que el código binario común requiere sólo 8 bits para
representar 137. Es siempre verdadero que el código BCD para un número decimal dado requiere más
Curso Electrotecnia
VPG/1.37
Capítulo I. Representación de la Información
bits para código que el código binario común. Esto es porque BCD no usa todos los grupos posibles de 4
bits, como se señaló antes y es por consiguiente algo ineficiente.
La principal ventaja del código BCD es la facilidad relativa para convertir a y desde decimal. Sólo se
requiere recordar los grupos codificados de 4 bits para los dígitos decimales del 0 al 9. Esta facilidad de
conversión es especialmente importante desde el punto de vista de circuitos, porque en
un sistema digital son los circuitos lógicos los que ejecutan las conversiones a y desde decimal. BCD se
usa en máquinas digitales siempre y cuando se aplique información digital, ya sea como entradas o
mostradas como salidas. Los voltímetros digitales, contadores de frecuencia y relojes digitales usan
todos BCD, porque despliegan la información de salida en decimal. Las calculadoras
electrónicas usan BCD porque los números de entrada vienen en decimal vía el teclado y los números
de salida son mostrados en decimal.
BCD normalmente no se usa en computadores digitales modernos de alta velocidad, en aquellas
actividades relacionadas con procesamiento. Primero, como ya fue señalado, el código BCD para un
número decimal dado requiere más bits que el código binario directo y es por consiguiente menos
eficiente. Esto es importante en computadoras digitales porque el número de posiciones de memoria
donde estos bits pueden ser almacenados es limitado. Segundo, los procesos aritméticos para números
representados en código BCD son más complicados que en binario ordinario y requieren, para su
implementación, de circuitos más complejos. Los circuito más complejos contribuyen a una disminución
en la velocidad a la cual tienen lugar las operaciones aritméticas. Las calculadoras que usan BCD son,
por consiguiente, considerablemente más lentas en su operación, que las computadoras.
Tabla 18. Propiedades del código BCD Natural
Propiedad
BCD Natural
Ponderado
Distancia de código
Continuo
Cíclico
Denso
Autocomplementario
Si
1
NO
NO
NO
NO
Características del BCD natural:
ƒ Los números resultantes NO son posicionales.
ƒ La aritmética BCD es más complicada, puesto que el acarreo y borrow no se propagan en igual
forma.
ƒ Fácil de convertir de BCD a decimal.
ƒ Para números con signo ⇒ otro dígito, puesto que la longitud de la palabra de un computador,
generalmente es una potencia de dos y no de la forma 4n + 1 ⇒ se necesitarán 3 bits extra.
ƒ Las operaciones aritméticas deben realizarse en una combinación de las reglas binarias para
operaciones con dígitos como unidades y reglas decimales para los acarreos.
Curso Electrotecnia
VPG/1.38
Capítulo I. Representación de la Información
b) Código BCD ponderado Aiken 2-4-2-1.
Otro código BCD ampliamente usado en computadores es el código 2-4-2-1, el cual se muestra en la tabla
19:
Tabla 19. Código BCD Aiken 2421
BCD Aiken
Decimal
Peso
2 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
1 0 1 1
6
1 1 0 0
7
1 1 0 1
8
1 1 1 0
9
1 1 1 1
En este caso, el dígito más significativo de la representación de 4 bits tiene un peso de 2 en vez de 8
como en el BCD natural. La ventaja principal del código 2-4-2-1 es su autocomplementación. Un código
tiene la propiedad de ser autocomplementario si la suma de dos números cualesquiera que den por
resultado la base menos uno (complemento a r-1) son uno el complemento del otro. Y puesto que un
método de sustracción en computadores digitales usa el método de sumar al minuendo el complemento
del sustraendo, la característica del autocomplemento es bastante útil. La autocomplementación de este
código puede observarse con algunos ejemplos.
En base 10, el complemento a 9 de 1 es 8 (ya que 8 + 1 = 9) y en la representación BCD 2-4-2-1 tenemos
que 1 = 0001 y 8 = 1110, o sea, el complemento a 1 de 0001 es 1110.
En general, la combinación correspondiente al complemento a nueve de n, es decir 9 - n, se obtiene
invirtiendo la combinación correspondiente a n, es decir cambiando los ceros por unos y viceversa. Ej.: si
n = 4, entonces tenemos que 9 – 4 = 5, luego como la combinación para 4 es 0 1 0 0, su complemento
es 1 0 1 1 que corresponde a la combinación para 5.
Ejemplo. Convertir 0100 1110, codificado en BCD2-4-2-1 a decimal
0 1 0 0 1 1 1 0
Entonces, 0100 11102-4-2-1 corresponde a 4810
4
8
Ejemplo. Convertir 34210 en BCD2-4-2-1
3
4
2
0 0 1 1 0 1 0 0 0 1 0 1
Entonces 34210 corresponde al 0011010001012-4-2-1
Tabla 20 Propiedades del código Aiken 2421
Curso Electrotecnia
Propiedad
Aiken 2421
Ponderado
Distancia de código
Continuo
Cíclico
Denso
Autocomplementario
Si
1
NO
NO
NO
a 9
VPG/1.39
Capítulo I. Representación de la Información
c) Código BCD ponderado Aiken 5-4-2-1.
Otro código BCD ampliamente usado en computadores es el código 5-4-2-1, el cual se muestra en la tabla
21:
Tabla 21. Código BCD Aiken 5421
BCD 5421
Decimal
Peso
5 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
1 0 0 0
6
1 0 0 1
7
1 0 1 0
8
1 0 1 1
9
1 1 0 0
En este caso, el dígito más significativo de la representación de 4 bits tiene un peso de 5 en vez de 8
como en el BCD natural.
El código Aiken 5421, al igual que el código Aiken 2421 asigna un bit cero al bit de mayor peso en los
cinco primeros símbolos fuente (del 0 a 4) y un bit uno a los cinco últimos símbolos fuente (del 5 al 9),
tomando el resto de los bits el valor adecuado para que la suma de los pesos de la palabra código sea el
número decimal. Así, la representación de estos códigos es única.
Tabla 22 Propiedades del código Aiken 5421
Propiedad
Aiken 5421
Ponderado
Distancia de código
Continuo
Cíclico
Denso
Autocomplementario
Si
1
NO
NO
NO
NO
Resumen de códigos BCD ponderados
Tabla 23. Códigos BCD pesados más usados
Aiken
Natural
Decimal
2421
5421
8 4 2 1 2 4 2 1 5 4 2
0
0 0 0 0 0 0 0 0 0 0 0
1
0 0 0 1 0 0 0 1 0 0 0
2
0 0 1 0 0 0 1 0 0 0 1
3
0 0 1 1 0 0 1 1 0 0 1
4
0 1 0 0 0 1 0 0 0 1 0
5
0 1 0 1 1 0 1 1 1 0 0
6
0 1 1 0 1 1 0 0 1 0 0
7
0 1 1 1 1 1 0 1 1 0 1
8
1 0 0 0 1 1 1 0 1 0 1
9
1 0 0 1 1 1 1 1 1 1 0
Curso Electrotecnia
1
0
1
0
1
0
0
1
0
1
0
Peso
VPG/1.40
Capítulo I. Representación de la Información
d) Código BCD no ponderado Exceso-3
El código exceso-3 está relacionado con el código BCD y usado a veces en lugar de él, porque posee
ventajas en ciertas operaciones aritméticas. El código exceso-3 para un número decimal, se obtiene, de
la misma manera que en BCD excepto que se añade 3 (se suma) a cada dígito decimal antes de
codificarlo en binario. Por ejemplo, para codificar el número decimal 4 en el código xceso-3, debemos
primero añadir 3 para obtener 7. Luego el 7 se codifica en código binario equivalente de 4 bits para
obtener 0111.
Como otro ejemplo, convirtamos 34210 a su representación en código exceso-3:
3
+3
6
4
+3
7
2
+3
5
Entonces 34210 corresponde al 0110 0111 0101Exceso-3
0 1 1 0 0 1 1 1 0 1 0 1
La siguiente tabla muestra las listas para las representaciones BCD y exceso-3 para los dígitos
decimales. Note que ambos códigos usan sólo 10 de los 16 posibles grupos codificados de 4 bits.
El código exceso-3, sin embargo, no usa los mismos grupos codificados. Para exceso-3, los grupos
codificados, no válidos son 0000, 0001, 0010, 1101, 1110 y 1111.
Tabla 24. Códigos BCD natural y Ex_3
Decimal BCD natural
Exceso -3
0
0 0 0 0 0 0 1 1
1
0 0 0 1 0 1 0 0
2
0 0 1 0 0 1 0 1
3
0 0 1 1 0 1 1 0
4
0 1 0 0 0 1 1 1
5
0 1 0 1 1 0 0 0
6
0 1 1 0 1 0 0 1
7
0 1 1 1 1 0 1 0
8
1 0 0 0 1 0 1 1
9
1 0 0 1 1 1 0 0
El código BCD Exceso-3 tiene dos ventajas interesantes, que en muchos casos justifica su empleo.
1. Es autocomplementario.
2. Todos los números (incluido el cero), tienen por lo menos un 1, es decir un bit significativo.
3. Al ser autocomplementario permite ejecutar más fácilmente las operaciones de resta aplicando
el procedimiento del complemento a 9
Tabla 25 Propiedades del código BCD Exceso-3
Curso Electrotecnia
Propiedad
BCD Natural
Ponderado
Distancia de código
Continuo
Cíclico
Denso
Autocomplementario
NO
1
NO
NO
NO
a 9
VPG/1.41
Capítulo I. Representación de la Información
Ejemplos de conversión de números BCD.
La conversión de un número decimal a código BCD se realiza expresando cada dígito decimal mediante
la combinación binaria correspondiente del código BCD elegido.
La conversión de un número BCD a un número decimal se realiza dividiendo el número, a partir de la
coma engrudos de cuatro bits exprtesando en cada grupo su valor decimal correspondiente delcódigo
BCD elegido.
Ejemplo.
La representación del número decimal 37,6 en el código BCD natural es:
3
7
,
6
0 0 1 1 0 1 1 1 , 0 1 0 1
Ejemplo.
Representar el número decimal 127,25 en los códigos BCD natural, Aiken 2421, exceso-3 y en binario
natural.
Solución. En la tabla 26 se muestra la representación en los cuatro códigos.
Tabla 26.
Código
Palabras de código
BCD Natural
0001 0010 0111,0010 0101
BCD Aiken 2421
0001 0010 1101,0010 1011
BCD Exceso-3
0100 0101 1010,0101 1000
Binario Natural
111111111,01
Ejemplo.
Determinar el número decimal del código: 0100 0101 1000,0011, cuando está expresado en: BCD
natural, Aiken 2421, exceso-3 y binario natural.
Solución.
Solución. En la tabla 27 se muestra la representación en los cuatro códigos.
Tabla 27.
Código
Palabras de código
BCD Natural
458,3
BCD Aiken 2421
xxxxxx
BCD Exceso-3
125,0
Binario Natural
1112,1875
En el caso de la obtención del número decimal del código 0100 0101 1000,0011 expresada en BCD
Aiken 2421, las palabras de código 0101 y 1000 no pertenecen al alfabeto de dicho código por lo que
este punto del problema no tiene solución, indicándose este hecho mediante una línea de x.
Curso Electrotecnia
VPG/1.42
Capítulo I. Representación de la Información
1.6.7.4. Códigos progresivos.
Los códigos binarios progresivos son aquellos cuyas palabras consecutivas son adyacentes, es decir, si
dos cualesquiera de sus palabras de código solo difieren en un bit. Ejemplo, las palabras de código 1100
y 1101 son adyacentes. Si además, la primera y última palabras de código son también adyacentes, el
código se llama cíclico.
La más interesante aplicación de estos códigos está en la conversión de magnitudes analógicas a
digitales: por ejemplo en la codificación de las posiciones sucesivas de uno o más objetos, problema que
se presenta en instalaciones industriales.
Efectivamente, las posiciones sucesivas de un objeto pueden medirse utilizando una placa, una cinta
perforada o un disco codificado con un dibujo en binario.
En la figura 3. se muestra una placa
codificada en código binario natural; las
a
b
partes sombreadas representan las zonas
c
conductoras y las partes claras son zonas
d
aislantes. Cuando la placa se mueve en el
sentido de la flecha, las lámparas
0
1
2
proporcionan una señalización binaria de
3
las posiciones 1, 2, 3,……n de esta base;
las lámparas pueden sustituirse por
diferentes elementos de control que
determinan, por ejemplo el funcionamiento
del carro de una máquina herramienta, de un motor de accionamiento.
Fig. 3. Placa codificada en
binario natural.
4
5
6
7
8
9
10
Supongamos que la placa se encuentra en la posición 7 y se mueve a la posición 8. En la posición 7
inicial, las lámparas encendidas expresan la posición binaria 0111 (que corresponde al 7 en base 10);
cuando se realiza el cambio a la posición 8, las lámparas indican la posición binaria 1000 (que
corresponde a 8 en base 10). Nótese que para que se produzca este cambio, los cuatro bits que
constituyen el código, ha de cambiar simultáneamente. Por la inevitable imprecisión que tiene todo
elemento mecánico, resulta prácticamente imposible que el cambio de los cuatro bits se produzca
simultáneamente; lo que sucede en realidad es que el cambio de realiza entre combinaciones
intermedias. Una secuencia posible sería la siguiente:
Posición inicial
Posibles transiciones
Posición final
Código binario
0111
0010
0110
1010
1000
Decimal
7
2
6
10
8
Dada la gran velocidad con que trabajan los equipos digitales, aun cuando los estados transitorios son
instantáneos, la información falsa proporcionada por las transiciones, sería procesada con las
correspondientes anomalías en el funcionamiento de los equipos correspondientes.
En estos casos son útiles los códigos progresivos que se estudiarán a continuación y que se
caracterizan, como se señaló, porque el paso de una combinación a la siguiente (anterior o posterior)
solamente cambia el valor de un bit, evitándose de esta forma las transiciones intermedias.
Curso Electrotecnia
VPG/1.43
Capítulo I. Representación de la Información
a) Código Gray.
Como se ha señalado, el código Gray es un código progresivo y no ponderado, significando que las
posiciones de los bits en los grupos codificados no tienen un peso específico asignado. Debido a esto, el
código Gray no es apropiado para operaciones aritméticas, pero encuentra aplicaciones en dispositivos
de entrada/salida y en algunos tipos de convertidores analógicos a digital. Al código progresivo también
se le conoce como perteneciente a una clase de códigos llamados códigos de cambios mínimos, por el
hecho que sólo cambia un bit en el grupo codificado cuando se va de un paso al siguiente.
El código Gray también recibe el nombre de Código reflejado, debido al reflejo que se debe realizar en
las palabras de código al construirlo. La formación del código Gray de n bits se realiza por reflexión del
código de n-1 bits, repitiendo simétricamente las combinaciones de este y añadiendo a la izquierda un bit
que será cero en las 2n-1 primeras palabras de código (primera mitad de las filas) y 1 en las 2n-1 filas
restantes (última mitad de las filas), como puede verse en la tabla XX
Tabla 28. Códigos Gray de 1, 2, 3 y 4 bits
1 bit
2 bits
3 bits
0
0 0
0 0 0
1
0 1
0 0 1
1 1
0 1 1
1 0
0 1 0
1 1 0
1 1 1
1 0 1
1 0 0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
4 bits
0 0
0 0
0 1
0 1
1 1
1 1
1 0
1 0
1 0
1 0
1 1
1 1
0 1
0 1
0 0
0 0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
Los símbolos sombreados corresponden el reflejo de los que se encuentran inmediatamente arriba y la
columna más significativa se forma colocando 0’s a las primeras 2n-1 filas y unos a las 2n-1 siguientes. Por
ejemplo el código de 4 bits se forma copiando el código de tres bits, reflejándolo, y colocando un 0 como
bits más significativo a las primeras 8 filas y colocando un 1 a las 8 filas restantes.
Para construir un código Gray a partir del código BCD natural, se procede de la siguiente forma:
1. El Bit más significativo (MSB) en el código Gray Gn-1 y en el código Binario natural Bn-1 son
idénticos.
2. El resto de los bits del código Gray, Gi se obtienen sumando de izquierda a derecha cada par
adyacente de los bits en código binario Bi y Bi+1, siendo su resultado el siguiente bit del código
Gray, descartando los acarreos; o mediante la función lógica XOR (OR exclusivo). Esta
operación da como resultado un uno lógico cuando sus operandos son distintos y un cero lógico
cuando sus operandos son iguales.
Gi = Bi ⊕ Bi +1
Curso Electrotecnia
Donde:
0 ≤ i ≤ n − 2;
Bn −1 = Gn −1
Si Bi ≠ Bi +1 entonces
Si Bi = Bi +1 entonces
Gi = 1 y
Gi = 0
VPG/1.44
Capítulo I. Representación de la Información
Ejemplo. Convertir el número binario 1110101 a código Gray.
B6
B5
B4
B3
B2
B1
B0
1
1
1
0
1
0
1
+
+
+
+
+
+
1
G1
1
1
0
0
1
1
G6
G5
G4
G3
G2
G0
Para convertir un código Gray a código BCD natural, se procede de la siguiente forma:
1. El Bit más significativo (MSB) en el código Binario natural Bn-1 y en el código Gray, Gn-1 son
idénticos.
2. El resto de los bits del código binario natural Bi se obtienen sumando de izquierda a derecha a
cada bit del código generado Bi+1, el bit en código Gray Gi de la siguiente posición adyacente y
descartando los acarreos; o mediante la función lógica XOR (OR exclusivo) entre los dígitos
señalados.
Bi = Bi +1 ⊕ Gi
0 ≤ i ≤ n − 2;
Bn −1 = Gn −1
Si Bi +1 ≠ Gi entonces
Si Bi +1 = Gi entonces
donde
Bi = 1 y
Bi = 0
Ejemplo conversión de 111110 en código gray a código binario natural.
G5
1
G4
1
G3
1
G2
0
G1
1
G0
0
+
+
+
+
+
1
0
1
1
0
0
B5
B4
B3
B2
B1
B0
G5 es el MSB ⇒ B5 = G5 = 1; B4 = B5 ⊕ G4 = 1 ⊕ 1 = 0;
B3 = B4 ⊕ G3 = 0 ⊕ 1 = 1; B2 = B3 ⊕ G2 = 1 ⊕ 0 = 1;
B1 = B2 ⊕ G1 = 1 ⊕ 1 = 0; B0 = B1 ⊕ G0 = 0 ⊕ 0 = 0
La aplicación que hace corresponder a cada símbolo del alfabeto fuente Fi con una palabra de código se
denomina codificación. Y al proceso inverso mediante el cual se obtiene un símbolo del alfabeto fuente
Fi, conociendo la correspondiente palabra de código se denomina decodificación.
En el ejemplo anterior, mesa se codifica con la palabra de código δ, e inversamente, la decodificación de
la palabra de código δ es mesa.
Tabla 29. Propiedades del código BCD Exceso-3
Curso Electrotecnia
Propiedad
BCD Natural
Ponderado
Distancia de código
Continuo
Cíclico
Denso
Autocomplementario
NO
1
SI
SI
SI
NO
VPG/1.45
Capítulo I. Representación de la Información
Características del código Gray.
Todos los códigos Gray poseen las siguientes características comunes:
1. Si n es el numero de bits, la expresión del mayor número decimal que puede representarse con
un código Gray es:
N = 2n – 1.
Por ejemplo, un código Gray de n = 4 bits puede expresar hasta el número decimal
N = 24 -1 = 16 – 1 =15
2. Si N es el número de bits, la cifra decimal 0 está representada por n ceros. Por ejemplo en un
código Gray de 4 bits, el 0 está representado por los bits 0000.
3. Si N es el número de bits, la expresión del mayor número decimal que se puede representar en
el código Gray, está constituida por un 1 seguido de (n – 1) ceros. Es decir, que en un código
Gray de 4 bits el myor número decimal posible, el 15 se representará como 1000. Por
consiguiente se pasa de este número máximo a 0 por el cambio de un solo dígito (de 1000 se
pasa a 0000). Se dice que el código Gray es cíclico. Esta propiedad permite construir escalas
codificadas circulares, cerradas sobre ellas mismas y destinadas a ser montadas sobre ejes de
rotación. En la figura 4 se ha representado esquemáticamente una de estas escalas para un
código Gray de 4 bits: a partir de las posiciones iniciales a, b, c, d y desplazando el disco hacia
la izquierda, las sucesivas posiciones codificadas 1, 2, 3,….15, solamente difieren en un bit y,
además, de la posición 15 a la posición 0 se pasa por cambio de un solo bit. Nótese, además,
que con el desplazamiento del disco hacia la derecha, se mantienen tambien las características
anteriores. El carácter cíclico de los códigos Gray los hace muy adecuados para la programación
automática de dispositivos circulares (por ejemplo motores eléctricos).
6
5
7
8
4
9
3
10
2
a
11
b
c
1
0
12
d
13
14
15
Fig. 4 Disco codificado en código Gray de 4 bits
4. El código Gray es reflejado, como se mostró anteriormente.
5. Todos los códigos Gray tienen la propiedad de que sus valores de paridad par corresponden a
números decimales pares y sus valores de paridad impar corresponden a decimales impares.
Pòre ejemplo el número decimal 11 (impar) le corresponde la palabra de código 1110 (paridad
impar). Esta característica es muy interesante para la comprobación y el control de los números
expresados en código Gray.
6. Los códigos Gray son no ponderados, es decir que el número decimal correspondiente a un
valor de código no se obtiene por la suma de sus dígitos.
Curso Electrotecnia
VPG/1.46
Capítulo I. Representación de la Información
1.6.7.5. Códigos alfanuméricos (Codificación de símbolos)
Muchas aplicaciones requieren la codificación de letras y símbolos, además de números, es esta la razón
de la existencia de los códigos alfanuméricos.
Para representar nombres en forma binaria es necesario tener un código binario para el alfabeto. El
mismo código binario puede representar números decimales y algunos otros caracteres especiales.
Un código alfanumérico es una correspondencia entre un alfabeto binario, de un número finito de
elementos y los 10 dígitos decimales, las 26 letras del alfabeto y ciertos símbolos especiales, como: $, #,
), ., &, etc. Así, se tiene que el número total de elementos en un alfabeto alfanumérico es mayor que 36,
de tal modo que debe ser codificado con un mínimo de 6 bits (26= 64 ).
Los códigos con que se representa la información varían tanto en la cantidad de bits que se utilizan para
definir un carácter individual, como en la asignación de patrones para cada carácter en particular.
El alfabeto alfanumérico (formado por números, letras y símbolos) es conocido también como alfabeto
externo debido a que este es el conjunto de símbolos que usa el computador para comunicarse con el
mundo exterior, con el ser humano. Por el contrario, con el nombre de alfabeto interno se distingue al
conjunto de símbolos formados por 0`s y 1`s con los cuales el computador representa y procesa
información internamente.
El número de caracteres en el alfabeto externo, determina el largo del código. Los códigos más comunes
utilizados en computadores es de 6 y 8 bits. Los códigos de 7 bits son utilizados en comunicaciones y no
han sido adoptados para uso en los computadores debido a su número de bits (7) poco relacionados con
las demás cantidades utilizadas dentro del computador, usualmente potencias de 2.
La elección de la correspondencia entre alfabetos, no es una decisión arbitraria. Hay pocas razones para
que la codificación de A sea 1000001 en vez de 1000000. Hay sin embargo, ciertos criterios que deben
ser considerados cuando se diseña un código, aún cuando, en algunos casos son conflictivos. La
importancia de consideraciones individuales depende de la aplicación: el criterio esencial para una
aplicación puede ser irrelevante en otras aplicaciones.
Las siguientes son consideraciones aplicables a códigos para representación de caracteres.
ƒ
Las palabras de código de dos letras adyacentes alfabéticamente deberían ser adyacentes.
A → 100 0001
B → 100 0010
Este hecho simplifica el procesamiento de cadenas de caracteres o textos
ƒ
Los códigos de los dígitos 0 a 9 deberían estar ligados a su representación posicional binaria, de tal
forma que se simplifique la conversión entre el código y su valor.
ƒ
Los códigos de símbolos de operadores aritméticos y símbolos relacionados deberían ser adyacentes
para simplificar su reconocimiento.
ƒ
El código de todos los símbolos debería tener el mismo número de bits, de tal forma de simplificar su
almacenamiento e interpretación.
ƒ
El código debería ser lo suficientemente amplio para incluir todos los símbolos deseables y que aún
sobren códigos para futuras ampliaciones.
ƒ
El código debería ser modular.
ƒ
En casos en que el costo de transmisión es importante, los códigos de los símbolos más comunes,
deben ser los más cortos (para el caso de largo variable).
Por ejemplo:
ƒ
Código Morse (Ese criterio no es aplicable a computadores).
Los códigos deberían estar diseñados para fácil implementación de codificación y decodificación.
Curso Electrotecnia
VPG/1.47
Capítulo I. Representación de la Información
a) Código Baudot.
Uno de los códigos más antiguos (fue creado en el siglo 19) para la comunicación de datos es el
denominado código Baudot o código de 5 bits en el que sólo hay 32 combinaciones posibles de
caracteres, sin embargo, también hay dos funciones que se conocen como letras y cifras.
Cuando se utiliza una de estas dos funciones, el equipo se posiciona de manera que todos los caracteres
que se teclean después de tal activación tienen configuración diferente de la que tenían antes y con esto
se eleva a 58 la cantidad de combinaciones de caracteres válidos, apenas lo necesario para la
comunicación simplificada de datos. En una versión conocida como Internatinal Badout, se tiene un sexto
bit que se utiliza para funciones de paridad. El código Badout se utilizó en los primeros equipos de
teletipos y en los circuitos de comunicación de muy baja velocidad (150 bits por segundos o menos). El
mecanismo del teletipo contiene un grupo de switches que pueden ser abiertos y cerrados por la presión
de una tecla, este switch puede ser trasladado a una representación binaria, 0 = abierto y 1 = cerrado.
Tabla 30 Estructura de código Badout.
Minúsculas
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Letras (cambio a minúsculas)
Cifras (cambio a mayúsculas)
Espacio
Retrono de carro
Alimentación de línea
Espacio en blanco
Nota
• representa 1
Blanco representa 0
Mayúsculas
1
2
?
:
$
3
!
&
•
•
•
8
‘
(
)
.
,
9
0
1
4
Campana
5
7
;
2
/
6
“
•
•
•
•
3
4
5
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
La información que se transmite de un lugar a otro, utilizando código Badout se puede hacer vía cinta
perforada en la que las perforaciones representan 1`s y los círculos no perforados representan 0`s.
Curso Electrotecnia
VPG/1.48
Capítulo I. Representación de la Información
b) Código de 6 niveles.
La representación de letras y números en este código es la del código BCD natural. Los dos bits más
significativos (b6 y b5) indican que los próximos 4 bits representan cualquier número (b6 = 0 y b5 = 0),
el primer tercio del alfabeto cuando b6 = 1 y b5 = 1, el 2do. tercio cuando b6 = 1 y b5 = 0 y el tercer tercio
es b6 = 0 y b5 = 1. Cada grupo está en BCD ascendente (0 a 9), para incrementar valores numéricos o
letras del alfabeto se avanza progresivamente desde el 1ro. al último.
Este código de 6 niveles comúnmente es usado en computadores, y cuando se expande a 7 bits provee el
bit de paridad. Encontró su primera aplicación en sistemas de datos con cintas de papel y cintas
magnéticas. La tabla 31. muestra el código alfanumérico BCD.
Tabla 31 Estructura del código alfanumérico BCD de 6 niveles
Zona
b6
b5
0
0
SP
1
2
3
4
5
6
7
8
9
∅
#=
@
:
⟩
0
1
δ
/
S
T
U
V
W
X
Y
Z
,
%(
γ
\
1
0
J
K
L
M
N
O
P
Q
R
!
$
*
[
;
Δ
1
1
& +
A
B
C
D
E
F
G
H
I
?
.
)
]
⟨
≠
b4
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Digito
b3 b2
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
b1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
c) Código de 7 niveles (ASCII)
El uso de 7 posiciones de dato, da como resultado un código que tiene un total de 128
combinaciones. Comúnmente usado en control digital de máquinas industriales.
Código de control numérico de 7-niveles (expandible a 8- niveles, si es usado el bit de paridad). Se tienen
combinaciones que no son usadas. Este código es expandible a 8 bits, para tener bit de paridad en
corrección de errores.
Este código de 7 niveles, expandible a 8 niveles es llamado American Standard Code for Information
Interchange (ASCII). Los 128 caracteres representables poseen una única combinación.
En
la
actualidad se usan numerosas variaciones del código ASCII, pero todas son compatibles.
La tabla 32. muestra el código ASCII.
Curso Electrotecnia
VPG/1.49
Capítulo I. Representación de la Información
Tabla 32 Código ASCII (American Standard Code for Information Interchange).
Dígito
Zona
7
6
5
4
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
SPACE
0
@
P
3
2
1
0
0
0
0
0
NUL
DLE
0
1
1
0
0
1
1
1
0
0
1
SOH
DC1
!
1
A
Q
a
q
0
0
1
0
STX
DC2
"
2
B
R
b
R
0
0
1
1
ETX
DC3
#
3
C
S
c
s
0
1
0
0
EOT
DC4
$
4
D
T
d
t
0
1
0
1
ENQ
NAK
%
5
E
U
e
u
0
1
1
0
ACK
SYN
6
F
V
f
0
1
1
1
BEL
ETB
'
7
G
W
g
w
1
0
0
0
BS
CAN
(
8
H
X
h
x
1
0
0
1
HT
EM
)
9
I
Y
i
y
1
0
1
0
LF
SUB
*
:
J
Z
j
z
1
0
1
1
VT
ESC
+
;
K
[
k
{
1
1
0
0
FF
FS
,
<
L
\
l
|
1
1
0
1
CR
GS
-
M
]
m
}
1
1
1
0
SO
RS
.
>
N
↑
n
∼
1
1
1
1
SI
US
/
?
O
-
o
del
Zona
NUL
SOH
IXT
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
6
5
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Dígito
4
Mnemónico y significado
Nulo
Inicio de encabezado
Inicio de texto
Fin de texto
Fin de transmisión
Solicitud
Reconocimiento
Campana
Retroceso
Tabulación horizontal
Avance de línea
Tabulación vertical
Avance de hoja
Retorno de carro
Anulador de cambio de mayúsculas
Fijador de cambio de mayúsculas
Curso Electrotecnia
1
0
0
1
p
0
7
1
0
0
0
3
DEL
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
DEL
2
1
0
Mnemónico y significado
Escape del enlace de datos
Control de dispositivo 1
Control de dispositivo 2
Control de dispositivo 3
Control de dispositivo 4
Reconocimiento negativo
Síncrono libre
Fin de bloque de transmisión
Cancelar
Fin del medio
Sustituir
Escape
Separador de archivo
Separador de grupo
Separador de registro
Separador de unidad
Borrar
VPG/1.50
Capítulo I. Representación de la Información
d) Código de 8 niveles EBCDIC
El nombre de este código viene de Extended Binary Coded Decimal Interchange Code. Una ventaja de
este código sobre los otros códigos vistos, es que la identificación de símbolos es hecha fácilmente por la
investigación solamente de los 2 dígitos más significativos. El código EBCDIC es usado cuando la
transmisión de datos y recepción entre dispositivos, necesita interfaz con un computador que opera
predominantemente en modo BCD.
Extendiendo este código a nueve niveles se puede obtener el código con bit de paridad. La tabla 33.
muestra el código EBCDIC.
Tabla 33 Código EBCDIC (Extended Binary-Coded-Decimal Interchange Code).
7
Zona6
Dígito
5
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
3
2
1
0
0
0 0
NUL
DLE
DS
0
0
0 1
SOH
DC1
SOS
0
0
1 0
STX
DC2
FS
0
0
1 1
ETX
TM
0
1
0 0
PF
RES
BYP
PN
0
1
0 1
HT
NL
LF
0
1
1 0
LC
BS
0
1
1 1
DEL
IL
1
0
0 0
1
0
0 1
1
0
1 0
SMM
CC
SM
1
0
1 1
VT
CU1
CU2
1
1
0 0
FF
IFS
1
1
0 1
CR
IGS
ENQ
1
1
1 0
SO
IRS
ACK
1
1
1 1
SI
IUS
BEL
0
4
0
1
0
0
0
1
0
1
SP
&
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
A
J
s
B
K
S
2
t
C
L
T
3
d m u
D M U
4
RS
e
n
v
E N
5
ETB
UC
f
o
w
F O W 6
ESC
EOT
g
p
x
G P
X
7
CAN
h
q
y
H Q Y
8
EM
i
r
z
I
9
SYN
C
!
CU3
.
$
.
#
DC4
<
*
%
@
NAK
(
)
-
’
+
:
>
=
|
¬
?
“
SUB
Zona
0
Curso Electrotecnia
0
1
1
0
1
a
j
b
k
c
l
R
1
V
Z
:
Dígito
2
3
4
5
6
7
VPG/1.51
Capítulo I. Representación de la Información
e) Código Hollerith
Letras, números y algunos símbolos pueden ser representados por ciertas combinaciones de
perforaciones en una tarjeta especial. El código mas usado en tarjetas perforadas es el código Hollerith.
Cada una de las 80 columnas acepta un dígito, letra o símbolo.
Posiciones perforadas son arreglos de líneas horizontales de 12 filas.(10 dígitos,0 a 9 y 2 líneas más, 11 y
12). Así los dígitos del 0 al 9 necesitan una única perforación, los caracteres alfabéticos y caracteres
especiales requieren más de una perforación. Cuando es leída una tarjeta perforada, cada columna es
investigada separadamente. El código Hollerith para tarjetas perforadas es actualmente un código de 12
niveles.
Curso Electrotecnia
VPG/1.52
Descargar