Anda di halaman 1dari 29

INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN

Pg.1

CAPITLLO 1

INTRODLCCION A LOS SISTEMAS DIGITALES, CODIGOS
Y SISTEMAS DE NLMERACIN


OB3ETIVOS: Al finalizar este Captulo el lector deber comprender la necesidad de los
diferentes cdigos usados en los sistemas digitales, y ser capaz de expresar cualquier
cantidad en los diferentes cdigos (binario, decimal, hexadecimal, BCD, BCD8421 y
Gray). Adems efectuar operaciones aritmticas en el sistema binario y en el BCD-8421 y
podr pasar de un cdigo a otro con facilidad.

1.1. SISTEMAS DIGITALES. COMPARACIN CON LOS SISTEMAS
ANALGICOS.

Tal como lo tratamos en la Introduccin, el lector debe estar perfectamente
familiarizado con las seales analgicas las cuales se extienden sobre un intervalo
continuo y son aplicadas y manejadas por sistemas que por las caractersticas de la
seal se denominan tambin analgicos.
En contraste, los sistemas digitales manejan y almacenan seales, las cuales son
representaciones cifradas o codificadas de los parmetros que constituyen la
informacin, y estn confinadas a un nmero pequeo de niveles de seal, que en
nuestro caso, sern de voltaje o de corriente. Los sistemas digitales son aquellos,
entonces, encargados de generar, procesar y almacenar seales digitales con fines
generales o especficos, y su ventajea sobre los sistemas analgicos pueden resumirse
en:
1.1.1. Evaluar funciones matemticas complejas.
1.1.2. Efectuar operaciones secuenciales para el control como en ascensores y en
telefona.
1.1.3. Evaluar y probar modelos numricos.
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.2

1.1.4. Construir sistemas de decisin simples.
1.1.5. Simplicidad, bajo costo y alta velocidad.

Por supuesto que para manejar seales digitales se hace necesario la traduccin de la
seal analgica a digital mediante el uso de diferentes cdigos o sistemas de
numeracin, los cuales analizaremos en este captulo.

1.2. CONCEPTO DE CODIFICACIN.

Un cdigo no es ms que una manera lgica de representar cantidades, mediante la
asociacin de un smbolo a cada cantidad.
Estos smbolos en general son los nmeros naturales del 0 al 9 aunque tambin se
utilizan las letras del alfabeto y otros smbolos de uso general. Normalmente a los
cdigos se les denomina sistema de numeracin, siendo los ms usados:

1.2.1. Sistema de numeracin decimal. Posee diez smbolos, los nmeros del 0 al 9.
1.2.2. Cdigo binario. Usa los smbolos 0 y 1.
1.2.3. Cdigo octal. Representado por los nmeros del 0 al 7.
1.2.4. Cdigo hexadecimal. Usa diecisis smbolos: los nmeros del 0 al 9 y las
letras A, B, C, D, E y F.
1.2.5. Cdigo especial BCD
1.2.6. Cdigo especial Gray.

1.3. SISTEMA DE NLMERACIN DECIMAL.

Un sistema de numeracin est caracterizado por su base, b. As en general, una
cantidad cualquiera, representada por el nmero N, puede ser representada en la
forma de la ecuacin 1.1
N = a
i
b
i

Donde los a
i
son los smbolos que caracterizan al sistema y b es la base.
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.3

En otras palabras cualquier nmero N, puede ser expresado como un polinomio de
potencias en la base b, cuyos coeficientes son smbolos del sistema de numeracin y
pueden tomar un valor desde 0 hasta b-1.
Por ello si b = 10, tendremos los smbolos de 0 a 10-1=9: y diremos que estamos en
presencia del sistema decimal cuya base es el nmero 10.
Ejemplo: Sea el nmero 7419
7419 = 7*10
3
+ 4*10
2
+ 1*10
1
+ 9*10
0

Los smbolos 7, 4, 1 y 9 son los coeficientes. Los valores posicinales o pesos estn
representados por las potencias de 10.
En el caso del nmero fraccionado se utilizan potencias negativas de la base 10, como
puede verse en el siguiente ejemplo:
435,232 = 4*10
2
+ 3*10
1
+ 5*10
0
+ 2*10
-1
+ 3*10
-2
+ 2*10
-3

1.4. SISTEMA DE NLMERACIN BINARIA.

En este caso b = 2 y por lo tanto, el sistema binario tiene dos smbolos (0 y 1), los
cuales son conocidos como bits (del ingls Binary digits). Al igual que en el sistema
decimal todo nmero puede representarse usando la notacin posicional en potencias
de la base b = 2, y su desarrollo nos equivale al decimal.

Ejemplo: 1.4.1 Sea el nmero N = (110101)
2
, donde el subndice 2 indica la base,
entonces:
N = 1*2
5
+ 1*2
4
+ 0*2
3
+ 1*2
2
+ 0*2
1
+ 1*2
0

N = 32 +16 +4 + 1
N = 53
(110101)
2
= (53)
10

Para los nmeros fraccionados se usan las potencias negativas de base ( b = 2).
Ejemplo 1.4.2 Sea N = (0.1101)
2
Entonces,
N = 0*2
0
+ 1*2
-1
+ 1*2
-2
+ 0*2
-3
+ 1*2
-4

INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.4

N = 0.5 + 0.25 + 0.0625
N = (0.8125)
10

(0.1101)
2
= (0.8125)
10

1.4.1. CONTEO EN BINARIO.

El sistema binario es el mas usado en sistemas digitales, ya que el hecho de
tener dos smbolos nos permite asociar a cada smbolo con dos estados los
cuales pueden ser prendido y apagado, positivo y negativo, mayor qu y
menor qu, perforado y tapado; dando esta propiedad una gran versatilidad
en el diseo con dispositivos electrnicos sencillos. El hecho de tener dos
smbolos no implica que no podamos contar nmeros grandes, para ello
tenemos en cuenta que si queremos contar n objetos necesitaremos un
nmero de bits, K, tal que 2
k
>n o sea que si queremos expresar o contar los
nmeros decimales del 0 al 9, necesitaremos:
2
k
> 10
K = entero superior (lg.10/lg.2) = 4
Con 4 bits se formamos los nmeros del 0 al 9 de acuerdo a la tabla 1.1
DECIMAL BINARIO
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.5

Si queremos contar debemos recordar que el sistema decimal llega hasta el 9,
colocamos un 1 delante y continuamos hasta llegar al 19, y as
sucesivamente. En binario lo mismo; comenzamos 0, 1; agregamos un 1
delante... 10, 11; agregamos otro 1 delante... 100 101 110 111 y as
sucesivamente.
Una manera de contar es pensar en decimal y eliminar todos os nmeros que
tengan dgitos decimales distintos de 0 y 1, y esto es extensible a cualquier
sistema.
Ejemplo 1.4.3
a) Sistema binario.
0,1,2,3,4,5,6,..,10,11,12,13,14,...,100,101,102,...
b) Sistema de base tres (Smbolos 0 1 2 )
0,1,2,3,4,5,6,..,10,11,12,13,14,...,20,21,22,...

1.5. SISTEMA DE NLMERACIN OCTAL.

El sistema de octal tiene base, b = 8; y por lo tanto utiliza ocho smbolos, que son los
dgitos del 0 al 7, para denotar las cantidades numricas. Igual que el sistema binario,
todo nmero octal puede representarse usando sus valores posicinales y expresarse
en potencias de base ocho.
Ejemplo 1.5.1
Sea N=(373.043)
8

Entonces:
N = 3*8
2
+7*8
1
+3*8
0
+0*8
-1
+4*8
-2
+3*8
-3

N= 192+56+3+0.0156+0.005859 ....
N = (251.021459 ... )
10

Observe que no necesariamente el valor es exacto.
Para contar en octal, seguimos la misma tcnica de la seccin anterior:
0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20 ...

INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.6

1.6. SISTEMA DE NLMERACIN HEXADECIMAL.

Este sistema tiene como base el nmero decimal 16 y por lo tanto, posee diecisis
smbolos: los nmeros del 0 al 9 y los literales A, B, C, D, E, F, representando estos
ltimos los smbolos del 10 al 15.
Ejemplo 1.6.1
Sea N = (E5D7.A3)
16

N = E*16
3
+5*16
2
+D*16
1
+7*16
0
+A*16
-1
+3*16
-2

N = 14*16
3
+5*16
2
+13*16
1
+7*16
0
+10*16
-1
+3*16
-2

N = (72839.63671878)
10

La tabla 1.2 muestra un resumen de los cuatro sistemas de numeracin que
utilizaremos, y en prxima seccin se explicar como pasar de uno a otro.

SISTEMA BASE SIMBOLOS
DECIMAL 10 0,1,2,3,4,5,6,7,8,9
BINARIO 2 0,1
OCTAL 8 0,1,2,3,4,5,6,7
HEXADECIMA
L
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

1.7. CONVERSIN ENTRE SISTEMAS DE NLMERACIN.

Como lo representamos en la ecuacin 1.1, cualquier nmero N puede ser
representado como:
N = a
n
b
n
+ a
n-1
b
n-1
+...+a
0
+ a
-1
b
-1
+...+ a
-m
b
-m
Ec. 1.2
N = N
e
+N
f

Donde N
e
es la parte entera y N
f
es la parte fraccionaria.
Si tomamos N
e
y lo dividimos por b
Ne = a
n
b
n
+ a
n-1
b
n-1
+...+a
0
Ne/b = a
n
b
n-1
+ a
n-1
b
n-2
+...+a
0
/b Ec. 1.5
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.7

N
e
/b = (cociente 1) + residuo 1/b EC. 1.6
La ecuacin 1.5, expresada literalmente en 1.6 nos dice que el primer residuo es a
0
.
Si tomemos ahora el cociente 1 y lo dividimos por b, obtenemos un cociente 2 y el
nuevo residuo ser a
1
y as consecutivamente.
En el caso de N
f
se har lo mismo pero multiplicando por b en cada caso.

1.7.1. CONVERSIN DECIMAL A BINARIO.

Siguiendo el esquema de la seccin precedente, dividiremos
consecutivamente por dos la parte entera y multiplicaremos por dos la parte
fraccionaria.

Ejemplo 1.7.1.1 Convertir (653)
10
a binario











653
10
= 1010001101
2

Observe que los residuos se colocan en orden inverso.
Evidentemente para ir de binario a decimal, usamos el desarrollo de los
valores posiciones.


2
2
2
2
2
2
2
2
2
2
10
326
163
81
40
20
5
2
1
0
1
1
1
1
1
0
0
0
0
0
a0
a1
a2
a5
a1
a3
a4
a6
a8
a9
a7
653
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.8

Ejemplo 1.7.1.2
Convierta (653.61)
10
a binario
En este caso dado que un nmero con parte entera y fraccionaria, se
convierte primero la parte entera, ya realizado en el ejemplo 1.7.1.1, y luego
la parte fraccionaria usando la tcnica de multiplicar sucesivamente por dos.
0.61 * 2 = 1.22 a
-1
= 1
0.22 * 2 = 0.44 a
-2
= 0
0.44 * 2 = 0.88 a
-3
= 0
0.88 * 2 = 1.76 a
-3
= 1
0.76 *2 = 1.52 a
-4
= 1
0.52 *2 = 1.04 a
-5
= 1
(653.61)
10
= (1010001101.100111... )
2

Para comprobarlo utilizaremos el desarrollo de potencias en base a dos
(0.100111... )
2
= 1*2
-1
+1*2
-4
+1*2
-5
+1*2
-6
= 0.5 + 0.625 + 0.03125 + 0.015625
= (0.609375)
10

Observe que el resultado no es exacto porque detuvimos el proceso en a
-6
; si
calculamos mas fracciones binarias nos acercamos al resultado.

1.7.2. CONVERSIN DEL SISTEMA DECIMAL AL OCTAL.

Esta conversin se realiza de manera similar a la de decimal a binario, con la
excepcin de que en este caso la divisin consecutiva se hace por ocho, en
lugar de 2.

Ejemplo 1.7.2.1. Supongamos que queremos convertir (653 )
10
a octal




(653)
10
= (1215)
8

8
8
8
8
81
10
1
0
5
2
1
1
a0
a1
a2
a1
a3
653
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.9

Recuerde que la escogencia de los dgitos se hace del ltimo residuo al
primero, tal como lo indica la flecha en el ejemplo anterior.
Si queremos ir de octal a decimal, solo tenemos que aplicar el desarrollo de
potencias de ocho, de acuerdo a los valores posicinales.

Ejemplo 1.7.2.2 Si tenemos (1215)
8

(1215)
8
= 1*8
3
+2*8
2
+1*8
1
+5*8
0

= 512 + 128 + 8 + 5
= 653
Si el valor decimal es fraccionario se multiplica sucesivamente por ocho,
pasando la parte entera de los resultados consecutivos a formar parte de la
parte fraccionaria del nmero octal. Esta operacin se contina hasta obtener
una fraccin nula o hasta la precisin deseada, si lo anterior no se consigue.

Ejemplo 1.7.2.3 Sea (0.46875)
10
a octal
0.46875 * 8 = 3.75 a
-1
=3
0.75*8 = 6.00 a
-2
=6
(0.46875)
10
= (0.36)
8

Por supuesto, el ejemplo anterior es una muestra del primer caso, o sea la
fraccin octal es exacta.

Veamos otro ejemplo:
Ejemplo 1.7.2.4 Sea (0.136)
10
a octal
0.136 * 8 = 1.088 a
-1
=1
0.088 * 8 = 1.704 a
-2
=1
0.704 * 8 = 5.632 a
-3
=5
0.632 * 8 = 5.056 a
-4
=5
Si nos detenemos aqu: (0.136)
10
= (0.1155)
8

Pero si desarrollamos (0.1155)
8
, obtenemos:
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.10

1*8
-1
+1*8
-2
+5*8
-3
+5*8
-4
= (0.1359875)
10

Lo cual, salvo por un error menor de una diezmilsima coincide con el
nmero original.
Si tenemos un nmero de parte entera y parte fraccionaria hacemos la
conversin por separado y luego combinamos ambos resultados.

Ejemplo 1.7.5.2 Convertir (124.78125)
10
a octal
Parte Entera





Parte fraccionaria
0.78125*8 = 6.25 a
-1
= 6
0.25*8 = 2.00 a
-2
= 2
(124.78125)
10
= (174.62)
8

1.7.3. CONVERSIN ENTRE LOS SISTEMAS BINARIO Y OCTAL.

Como estudiaremos posteriormente, los circuitos digitales manipulan datos
usando el sistema de numeracin binario; sin embargo, esto trae el
inconveniente de que a medida que aumenta el tamao del nmero, aumenta
tambin la cantidad de bits, y consecuentemente se complica el manejo de
datos. Para simplificar esto se introdujeron los sistemas octal y hexadecimal
que tienen una gran ventaja por la caracterstica de que sus bases son
potencias de dos.



8
8 15
1
0
4
1
7
a0
a1
a2
a1
8
124
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.11

En el caso del sistema octal:
N =
i
a
i
8
i
Ec. 1.2
Y binario:
N =
i
A
i
2
i
Ec. 1.3
Donde a
i
= [0, 1, 2, 3, 4, 5, 6, 7]
A
i
= [0,1]
Ahora bien, cualquiera de los a
i
, puede ser expresado como combinacin de
tres dgitos binarios o bits. De tal manera que si tomamos el nmero binario
y lo separamos de tres en tres, partiendo del punto decimal a la izquierda
para la parte entera, y a la derecha para la parte fraccionaria, podemos
sustituir cada uno de los grupos por su correspondiente valor octal, reflejado
en la tabla 1.3, y viceversa.

Tabla 1.3
OCTAL BINARIO
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111


Ejemplo 1.7.3.1 Convertir (10010101.1011)
2
a octal
Separamos en grupos de tres:
010 010 101. 101 100
Los ceros al principio (MSB) y al final (LSB) se agregan para completar
grupos de tres
(225.54)
8

Para ir de octal a binario, simplemente se sustituye cada dgito octal por su
equivalente binario de acuerdo a la Tabla 1.3.
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.12

Ejemplo: 1.7.3.2 Convertir (1752.714)
8
a binario
(1752.714) = (001 111 101 010 . 111 001)
2
Eliminando los ceros como bits ms significativos (MSB) o menos
significativos (LSB).
(1752.714)
8
= (111101010.111001)
2

Es importante hacer notar que si se quiere pasar de decimal a binario se
puede pasar primero a octal y despus utilizar este mtodo, con lo cual se
ahorra en las divisiones.

1.7.4. CONVERSIN DEL SISTEMA DECIMAL AL HEXADECIMAL.

Siguiendo los mismos procedimientos anteriores, corresponde dividir y/o
multiplicar por 16.
Ejemplo 1.7.4.1 Convertir (47632)
10
a hexadecimal.







(47632)
10
= (BA10)
16

Recuerde que A = 10, B = 11, ..., F = 15 en hexadecimal.

Ejemplo 1.7.4.2 Convertir (124.136)
10
a hexadecimal
Parte entera




16
16 2977
186
11
156
26
137
16
16
0
123
112
0
97
1 10 11
47632
16
7
0
12
7
16 124
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.13

Parte fraccionaria
0.136 * 16 = 2.176 a
-1
=2
0.176 * 16 = 2.816 a
-2
=2
0.816 * 16 = 13.056 a
-3
=D
0.056 * 16 = 0.896 a
-4
=0
0.896 * 16 = 14.336 a
-5
=E
(124.136)
10
= (7C.22D0E)
16

1.7.5. CONVERSIN ENTRE LOS SISTEMAS HEXADECIMALES Y
BINARIO.

Como lo mencionramos en la seccin 1.7.3, se puede aplicar la propiedad
de que la base 16 es una potencia de la base binaria y todo smbolo de la
base hexadecimal puede ser expresado por cuatro dgitos binario o bits, de
acuerdo a la Tabla 1.4 la cual puede usarse para convertir de una a otro
sistema separando en grupos de cuatro bits el nmero representado en
binario o viceversa.
HEXADECIMAL BINARIO
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
Tabla 1.4
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.14

Ejemplo 1.7.5.1 Convertir 10101101101.0101101101 a hexadecimal
0101 0110 1101.0101 1011 0100
(56D.5B4)
16

Observe que de nuevo se agregaron ceros al MSB y al LSB. Para convertir
de hexadecimal a binario, se emplea el mismo mtodo, sustituyendo cada
dgito hexadecimal por su equivalente binario de 4 bits que aparece en la
tabla 1.4.

Ejemplo 1.7.5.2. Convertir (8F.41)
16
a binario
1000 1111.0100 0001
(8F.41)
16
= (1000111.01000001)
2

1.8. OPERACIONES ARITMTICAS EN EL SISTEMA BINARIO.

Es evidente que le lector conoce las cuatro operaciones fundamentales de la
aritmtica (suma, resta, multiplicacin, divisin) en el sistema de numeracin
decimal, pero dado que en sistemas digitales utilizamos otros sistemas de
numeracin; es importante, entonces familiarizarse con dichas operaciones en el
sistema binario, teniendo siempre en mente la aritmtica decimal como gua.

1.8.1. Suma binaria. Para sumar en binario, debemos primero construir una tabla
de sumar como se observa en la Tabla 1.5, la cual se denomina Tabla de la
Verdad del sumador completo, todo lo cual ser analizado en secciones
posteriores.
SLMANDOS RESLLTADO ACARREO
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1


INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.15

Ejemplo 1.8.1.1 Sumar en binario 1101 + 1101
Acarreo 1101
Sumando A 1101
Sumando B 1101
Resultado 11010

Observe que le acarreo se suma a los bits que estn en la posicin inmediata
a la izquierda, similar a lo que se hace en el sistema decimal.

1.8.2. Resta binaria. En este caso hacemos uso de la tabla 1.6 donde en forma
similar a la resta decimal, cuando el minuendo es menor que el sustraendo,
se toma prestado un bit de la columna adyacente de la izquierda, como puede
verse en el ejemplo 1.8.2.2.
Tabla 1.6
MINLENDO SLSTRAENDO RESTA PRESTADO
m S R P
0 0 0 0
0 1 1 1
1 1 0 0
1 0 1 0

Ejemplo 1.8.2.1 Reste 11011 1101 en binario
Prestado 11
Minuendo 11011
Sustraendo 1101
Resta 01110








INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.16

1.8.3. Multiplicacin binaria. La multiplicacin hace uso de los mismos
principios del sistema decimal, utilizando las reglas de la tabla 1.7. En el
ejemplo 1.8.3.1, se ilustran tres casos de multiplicacin binaria.

FACTORES PRODLCTO
A B P
0 0 0
0 1 0
1 0 0
1 1 1
Tabla 1.7
Ejemplo 1.8.3.1
1111
1101
1111
1111
1111
11000011

1.8.4. Divisin binaria. La divisin binaria, al igual que en el sistema decimal, se
realiza como un procedimiento, opuesto a la multiplicacin, que determina
cuantas veces un nmero se encuentra contenido en otro.
Ejemplo 1.8.4.1. Divida 100011/101
100011 101
-101 111
111
-101
101
-101
0


INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.17

1.8.5. Representacin de nmeros negativos. En las secciones precedentes hemos
utilizado operaciones con nmeros binarios sin signo (o positivos). Sin embargo, cuando un
sistema digital realiza operaciones aritmticas necesita la presencia de nmeros negativos y
positivos, independientemente del sistema d enumeracin usado. Al utilizar nmeros
negativos se reduce la cantidad de circuitos y el computador no tiene necesidad de decidir
entre suma o resta, utilizndose el mismo circuito sumador para restar, como veremos en el
captulo correspondiente a circuitos aritmticos lgicos. Se han utilizado tres mtodos para
representar nmeros con su signo; ellos son:
1. Mtodo de signo y magnitud
2. Mtodo de complemento a 1
3. Mtodo de complemento a 2

1.8.5.1. Signo y Magnitud. En este mtodo el nmero binario se representa de tal manera,
que el bit ms significativo MSB contiene el signo, mientras que el remanente representa la
magnitud en binario. Por convencin el signo positivo se representa con un cero y el
negativo con un uno como se observa en el siguiente ejemplo:
Ejemplo 1.5.5.1
+ 37
10
= 00100111
- 37
10
= 10100111
Este mtodo que parece lgico fue desechado porque requera circuitos aritmticos lentos y
complejos.
1.8.5.2 Complemento a 1. En los comienzos del uso de las computadoras este mtodo era
muy popular, y en l; los nmeros positivos se representaban igual que en el mtodo
anterior de signo y magnitud, o sea el MSB = representaba nmeros positivos.
Ejemplo 1.8.5.2.1
+4
10
= 00000100
+17
10
= 00010001
+127
10
= 01111111
MSB = 0
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.18

Los nmeros negativos se representan como el complemento a 1 de su valor positivo,
entendiendo por complemento a 1 de un nmero binario lo que le falta a cada bit n para ser
igual a 1; o en forma practica, el resultado de cambiar todos los ceros por uno y los unos
por ceros.
Ejemplo 1.8.5.2.2
-4
10
= C1 (+4
10
) = 11111011
-127
10
= C1 (+127
10
) = 10000000
1.8.5.3 Complemento a 2. El mtodo usado en la actualidad para representar un nmero
con su signo en un microprocesador, es el complemento a 2 (C2). En este mtodo los
nmeros positivos se representan de acuerdo a lo estudiado en las dos secciones anteriores,
y los negativos por complemento a dos del correspondiente nmero positivo, entendiendo
por complemento a dos la suma de una unidad binaria al complemento a uno del nmero, o
sea:
C2(N) = C1(N) +1 Ec. 1.7
Ejemplo 1.8.5.3.1 Representar 4
10
en C2
-4
10
= C2(4
10
) = C1(4
10
) +1
-4
10
= 11111011 + 1
-4
10
= 11111100
En la tabla 1.8 se muestra en la primera columna todas las posibles combinaciones de ocho
bits; en la segunda columna su equivalente decimal sin signo y en la tercera y cuarta el
nmero decimal el cual es complemento a uno o dos.
Nmero Binario Equivalente Complemento a 1 Complemento a 2
00000000 0 0 0
00000001 1 1 1
00000010 2 2 2
00000011 3 3 3

01111100 124 124 124
01111101 125 125 125
01111110 126 126 126
01111111 127 127 127
Tabla 1.8

INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.19

Observe en la Tabla 1.8 que el rango para Complemento a , va desde 128 a +127 con una
sola representacin para cero. Para el microprocesador es fcil identificar un nmero
binario cuyo MSB sea cero ya que equivale al nmero negativo correspondiente.
Ejemplo 1.8.5.3.2 Sea 11110011 el C2 de un nmero. Halle el nmero.
C1 (11110011) +1 = 00001100 + 1
= 00001101 = 13
10

Por lo tanto
C2 (13
10
) = 11110011 = -13
10

1.8.6 Resta binaria usando Complemento a 1. La resta usando el Complemento a 1, se
basa en el hecho de que al restar el sustraendo del minuendo, es equivalente a sumar el
minuendo y el C1 del sustraendo. Tenemos dos casos:
1. Minuendo>Sustraendo
2. Minuendo<Sustraendo
1.8.6.1 Caso del minuendo mayor que el sustraendo. En este caso se le suma al
minuendo el Complemento a uno del sustraendo, y como el resultado va a tener un MSB
igual a uno, este se toma como acarreo y se le suma al LSB del resultado parcial.
Ejemplo 1.8.6.1. Supongamos 7 5 = 2

a) 7 = 111
5 = 101
C1(5)=010

1.8.6.2 Caso del minuendo menor que el sustraendo. En este caso no hay bit de acarreo y
el resultado final es el Complemento a uno de la operacin realizada, teniendo en cuenta
que el resultado es negativo.
Ejemplo 1.8.6.2.1. Supongamos 5 7 = -2

a)5 101
7 111
C1(7)=000
c) 101 +
000
101
c) C1(101) = 010
= 2
b) 101 +
000
1 001
c) 001
1
010 = 2
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.20

Resp. -2
Por supuesto que se supone que le computador no sabe si uno es mayor que otro y debe
decidir directamente con el siguiente diagrama.












1.8.7 Aritmtica del Complemento a dos (C2). Como ya mencionamos la representacin
de nmeros en C2 permite el uso de circuitos electrnicos simples, econmicos y rpidos,
ya que tanto los nmeros positivos como los negativos pueden ser sumados por el mismo
circuito. Ilustremos con un ejemplo:
Ejemplo 1.8.7.1. Digamos que queremos sumar los nmeros decimales 136 y 20.
La suma ser:
136 10001000
20 00010100
156 10011100
El microprocesador tiene una unidad aritmtica lgica ALU la cual realiza esa funcin,
pero como sabe el micro o la ALU que los nmeros a su entrada son positivos o de la forma
C2. La respuesta es sencilla. NO LO SABE. La ALU siempre creer que son nmeros sin
signo, pero la suma ser correcta as estn en C2.
Si volvemos al ejemplo 1.8.7.1 y esos nmeros binarios fuesen complemento a 2 de nmero
decimales, tendramos:
Lea M
Lea S
R=-C1( R)
R = M+C1(S)
R=MSB(R)+REMANENTE (R)
Hay acarreo
Si
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.21

10001000 C2(-120)
00010100 C2(+20)
10011100 C2(-100)
Observe que el resultado es igualmente binario y como no hubo bit de acarreo, es un
nmero negativo expresado en C2. Antes de generalizar este proceso de adicin binaria,
veamos su equivalente en el sistema digital; el Complemento a diez, que se define como el
resultado de restar el nmero, de la potencia diez inmediata superior al nmero al cual se va
a obtener el complemento.
Ejemplo 1.8.7.2 Obtenga el complemento a 10 de 821. Como 821<1000, entonces
C10(821) = 1000-821 = 179
Ahora si queremos restar en Complemento a 10, tenemos:
Ejemplo 1.8.7.3
Resta Normal: 847-721: 126
Resta a C10
847 + C10(721):279 = 1126 (Se descarta el acarreo)

1.8.7.1 Resta en C2. Al igual que en el caso de complemento a diez, podemos hallar el
complemento 2 usando el concepto de restar el nmero de la potencia dos siguiente
expresada en binario.
Ejemplo 1.8.7.1.1. Sea C2(111)
1000
111
001 C2(111) = 001

Sin embargo, los microprocesadores usan el mtodo de la seccin 1.8.5.3 y luego para
efectuar la resta, suman al minuendo el complemento a dos del sustraendo y:
a) Si hay bit de acarreo, ste de desprecia y tenemos el resultado directamente.
b) Si no hay bit de acarreo, estamos en presencia del minuendo menor que el
sustraendo y el resultado es negativo y est en complemento a dos.
Ejemplo 1.8.7.1.2.Restar los nmeros decimales 69 26 = 46
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.22

a) En binario normal
69 1000101
-26 0011010
43 0101011
b) En complemento a 2.
69 1000101
C2(26) 1100110 +
43 10101011 Si descartamos el acarreo
Ejemplo 1.8.7.1.3. Restar los nmeros decimales 26 69 en complemento a dos
26 0011010 X=-0101011
C2(69) 0111011 X = -43
C2(x) 1010101
Como no hay acarreo se calcula el complemento a 2.
1.9 Cdigo BCD (Binary Code Decimal)
El uso continuo del sistema de numeracin decimal, hace que el lector este siempre
pensando en este cdigo, mientras opera en otro sistema. Es por ello que se han ideado
cdigos que como su nombre lo indica trabajan con bits, pero utilizando la tcnica del
sistema decimal. El cdigo BCD natural y ms comn es denominado BCD 8421, el cual
expresa cada dgito decimal por su equivalente binario de cuatro bits.
Ejemplo 1.9.1. El nmero decimal 429 es expresado en BCD como
0100 0010 10001
4 2 9
Es importante notar que las combinaciones posibles de los cuatro bits en binario son
diecisis, pero debido a que los dgitos decimales son diez, descartaremos las
combinaciones 1010, 1011, 1100, 1101, 1110 y 1111; correspondientes a los nmeros del
10 al 15.
Aunque este cdigo tiene la ventaja de que solo hay que recordar los nmeros del 0 al 9 en
binario, para representar cualquier nmero toma ms bits que el cdigo binario simple, por
lo que los circuitos a utilizar son ms complejos.
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.23

El Cdigo BCD 8421 es el mas usado y cuando nos referimos a BCD estamos hablando de
l, pero existen otros cdigos BCD donde la diferencia es que cada dgito decimal es
representado por 4, 5 o 6 bits con diferente peso posicional, como puede observarse en la
Tabla 1.9
Tabla 1.9
Digito
Decimal
8421 5421 6311 2421 84-2-1
0 0000 0000 0000 0000 0000
1 0001 0001 0001 0001 0111
2 0010 0010 0011 0010 0110
3 0011 0011 0100 0011 0101
4 0100 0100 0101 0100 0100
5 0101 1000 0111 0101 1011
6 0110 1001 1000 0110 1010
7 0111 1010 1001 0111 1001
8 1000 1011 1011 1110 1000
9 1001 1100 1100 1111 1111

1.9.1 Suma en BCD. La suma en BCD 8421 sigue las siguientes reglas.
1. Se suman los dgitos aparte de acuerdo a su valor posicional en decimal (o sea,
primero las unidades, despus decenas, etc.)
2. Si el resultado parcial es menor de nueve se deja as-
3. Si el resultado parcial es mayor a 9, se le suma 6 (0110) para corregir la anomala,
pues como ya se dijo hay seis nmeros que no pertenecen al cdigo.
4. Si al sumar seis se produce bit de acarreo, este se suma a la siguiente columna.
5. Si se produce bit de acarreo de una columna a otra sin sumar 6 (0110), se le suma
seis a la columna que produjo el acarreo.
Ejemplo 1.9.1.1. Sumar 37 y 52
37 0011 0111
52 0101 0010
89 1000 1001



INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.24

Ejemplo 1.9.1.2. Sumar 37 y 23
37 0011 0111
23 0010 0011
0101 1010 Mayor de 9. regla 3
1 110
0110 10000
60 0110 0000 Bit de acarreo. Regla 4
Ejemplo 1.9.1.3. Sumar 38 y 28
38 0011 1000
28 0010 1000
0101 10000 Bit de acarreo. Regla 5
1 110
66 0110 0110
1.9.2 Resta en BCD. Se realiza de dos formas:
1. Utilizando Complemento a diez
2. Resta aritmtica normal.
1.9.2.1 Resta en BCD usando Complemento a diez. Se utiliza la misma tcnica vista
en la seccin 1.8.7, con la diferencia que los nmeros estarn codificados en BCD, y
que debemos usar las reglas de la seccin 1.9.1, para la suma en BCD.
Ejemplo 1.9.2.1. Resta de 27 y 13
27 0010 0111
C10(13) 87 1000 0111
114 1010 1110 (Regla 3)
110 110
10000 10100 (Regla 4)
1
Respuesta 0001 0100 = 14
10



INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.25

1.9.2.2 Resta aritmtica en BCD. En este caso se siguen las siguientes reglas:
1. Se restan en BCD columna a columna.
2. Cuando se produce un bit de prestado de una columna a otra se le resta seis (0110) a
la columna que pidi prestado.
Ejemplo 1.9.2.2.1. Restar 42-17
1 (Prestado)
42 0100 0010
17 0001 0111
0010 1011 (Regla 2)
0110
25 0010 0101

1.8 Cdigo Gray. El cdigo gray es un cdigo no analtico, con el cual no se pueden
realizar operaciones no aritmticas; sin embargo, es muy usado en dispositivos de
entrada / salida, en convertidores analgico/digital y en otros equipo perifricos. La
tabla 1.11 muestra el cdigo gray y su equivalente binario, y puede observarse que cada
grupo de bits defiere del precedente o del siguiente en un solo bit.
Nmero
Decimal
Equivalente
Binario
Equivalente
Gray
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
Tabla 1.11
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.26

La Tabla 1.11 se construye siguiendo los siguientes pasos en lo que se refiere al cdigo
Gray:
1. El primer nmero es 0000, puede tener mas bits.
2. La primera columna se forma con el primer cero y despus alternando 2 unos, 2
ceros, etc.
3. La segunda columna se forma con 2 ceros y despus alternando 4 unos y 4 ceros,
etc.
4. La tercera columna se forma con cuatro ceros y despus alternando 8 unos, 8 ceros,
etc.
5. La cuarta columna se forma con ocho ceros y despus alternando con 16 unos, 16
ceros, etc.
6. En general, la n-sima columna se formar con 2
n-1
ceros y alternando en forma
secuencial 2
n
unos y 2
n
ceros.
1.11.1 Conversin Binario a Gray. Para convertir un nmero binario a Gray, se siguen
los siguientes pasos:
1. El MSB del binario es igual al MSB del Gray. De tal manera que ese primer dgito
se repite.
2. Sume los dos primeros bits binarios, despreciando cualquier acarreo, y este ser el
segundo bit Gray.
3. Siga sumando los bits binarios, el segundo con el tercero, el tercero con el cuarto y
as sucesivamente, cada resultado parcial ser un bit del cdigo Gray.
Ejemplo 1.11.1Convertir 110100110 de Binario a Gray
Ilustramos de la siguiente forma:
Binario 1 1 0 1 0 0 1 1 0
Gray 1 0 1 1 1 0 1 0 1
1.11.2 Conversin de Gray a binario. En este caso tambin se repite el MSB, pero la
suma se hace en diagonal entre el ltimo binario obtenido y el prximo gray,
desprecindose los acarreos. Esto se ilustra en el ejemplo 1.11.2.1
Ejemplo 1.11.2.1 Convertir 101110101 de gray a Binario
Gray 1 0 1 1 1 0 1 0 1
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.27


Binario 1 1 0 1 0 0 1 1 0
Problemas

1. Convierta los siguientes nmeros decimales a sus equivalentes en base 16, 8, y 2 y
compruebe sus resultados.

a. 13 b. 94 c. 356
2. Convierta los siguientes decimales a sus equivalentes en base 2, 8, 16 y en BCD
8421.

a. 0.00625 b. 43.32 c. 0.51
3. Encuentre el equivalente en base-8 y base-16 de los nmeros siguientes en base-2.

a. 10111100101 b. 1101.101 c 1.0111
4. Exprese en binario y hexadecimal los siguientes nmeros:

a. 7348 b. 41.58
5. Exprese los nmeros en base 2 del problema 1.3 en base 4 sin emplear la divisin.
6. Construya las tablas de suma y multiplicacin para base 4.
7. Realice las operaciones aritmticas que se indican a continuacin, convirtiendo los
operandos a base 2.

a. 69510 + 27210 b. 69510 -27210 c. 27210 x 2310 d.27210/2310

8. Realice las siguientes substracciones, convirtiendo los operandos negativos a
complemento de dos. Compruebe sus resultados.

a. .11101 - .10111 b..10001 - .11011 c. .10101 - .11010

INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.28

9. Realice las operaciones de 1.7a y 1.7b en BCD; por ejemplo, convierta los operandos
en BCD y exprese los resultados en BCD.
a. Determine el complemento de 10 de 373
b. Realice la resta de 614-373 sumndole el complemento a 10
10. Reste los siguientes nmeros en BCD usando resta aritmtica y reste complemento a
diez.

a. 70- b. 77- c. 9870-
49 68 5981
11. Sume los siguientes nmeros binarios:

1011 y 1001
1110001 y 1010101
1111010 y 1001101
Qu nmero decimal representa el 11001.0112?
12. Reste los siguientes nmeros binarios usando resta normal, complemento a 1 y
complemento a 2.

a. 1010 - 111
b. 110011 - 100011
c. 100011 - 111010
13. Divida 110112 entre 1002
14. Convierta el nmero octal 65 a nmero decimal.
15. Desarrolle las siguientes conversiones octal-decimal:
65410 = X8
X10 = 3278
16. Los siguientes nmeros decimales deben ser convertidos a nmeros binarios
convirtindolos primero a octal y luego pasndolos a binario: 352, 850, 7563.
Exprese en cdigo 8421 BCD los siguientes nmeros decimales: 649
Y 71.465
INTRODUCCIN A LOS SISTEMAS DIGITALES, CODIGOS Y SISTEMAS DE NUMERACIN
Pg.29

17. Decodifique los siguientes nmeros 8421 BCD:

a. 0011 1000 0111
b. 1001 0110 0111 1000 0111 0011

20. Convierta los siguientes nmeros binarios a nmeros Gray:

a. 10110 b. 100111011001 c. 1010110111001
21. Convierta los siguientes nmeros Gray a nmeros binarios:

a. 10101 b. 10011001 c. 00111000010110
22. Realice las siguientes restas en BCD 8421, usando resta aritmtica y resta en c-10:

a. 75 38 b. 53 - 79
23. Realice las siguientes sumas en BCD 8421:

a. 87 + 68 b. 98 + 77 c. 53 + 89

Anda mungkin juga menyukai