Sei sulla pagina 1di 43

UNIDAD I

1.1 SISTEMAS DE NUMERACIN NO SIGNADO.


En la tecnologa digital se utilizan muchos sistemas de nmeros. Los ms comunes son los sistemas decimal, binario, octal y hexadecimal. El sistema decimal es sin duda el ms conocido por nosotros ya que es una

herramienta de uso cotidiano. Si analizamos algunas de sus caractersticas podremos entender mejor los dems sistemas de numeracin. Sistema decimal. El sistema decimal se compone de diez nmeros o smbolos. Estos 10 smbolos son 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; al utilizar estos smbolos como dgitos de un nmero podemos expresar cualquier cantidad. El sistema decimal, tambin conocido como sistema de base 10, es un sistema de valor posicional en el cual el valor de un digito depende de su posicin. Consideremos el nmero decimal 45310. Sabemos que el digito 4 representa en realidad cuatro centenas, el 5 representa cinco decenas, y el 3 representa tres unidades. En esencia el cuatro porta el valor mximo de los tres dgitos; a este se le conoce como el digito ms significativo (MSD). El nmero tres tiene el menor valor y se le denomina digito menos significativo (LSD). Lo anterior se puede resumir as:

Como vamos a representar cantidades en diferentes bases, es conveniente usar subndices para indicar la base a la que pertenecen. La representacin de las cantidades 199210 y 3,141610 (valor de pi, ) es: 199210 = 1*103+ 9*102+ 9*101+ 2*100 = 100010 + 90010 + 9010 + 210.

3,141610 = 3*100+ 1*10-1+ 4*10-2+1*10-3+ 6*10-4 = 3 + 0,1 + 0,04 + 0,001 + 0,0006. (Notar las potencias negativas 10-1 =0,1, 10-2 = 0,01, 10-3 =0,001 y 10-4 = 0,0001). Desafortunadamente, el sistema numrico decimal no se presta para una

implantacin conveniente en sistemas digitales. En el sistema binario solamente hay dos smbolos o posibles valores digitales, el

cero y el 1. No obstante este sistema de base 2 se puede utilizar para representar cualquier cantidad que se pueda denotar en decimal u otros sistemas numricos. En general se necesitaran muchos dgitos para expresar una cantidad determinada. El Sistema Binario: Es el sistema de numeracin que utiliza internamente el hardware de las computadoras actuales. Se basa en la representacin de cantidades utilizando los dgitos 1 y 0. Por lo tanto, su base es 2. Cada dgito de un nmero representado en este sistema se denomina bit (Contraccin de las palabras en ingls binary digit).

Conversin Decimal a Binario: Para convertir nmeros enteros de decimal a binario, la forma ms simple es dividir sucesivamente el nmero decimal y los cocientes que se van obteniendo entre 2, hasta que el cociente en una de las divisiones se haga 0. La unin de todos los residuos obtenidos escritos en orden inverso nos proporciona el nmero equivalente expresado en el sistema binario. Ejemplos:

Convertir el nmero decimal 1010 a binario.

Convertir el nmero decimal 199210 a binario.

Convertir el nmero decimal 8610 a binario.

Conversin de Binario a Decimal.

Para determinar

su equivalente en el sistema decimal

simplemente se toma en

cuenta la suma de los productos de cada valor digital (0 o 1) por su valor posicional.

Ejemplo:
o

Convertir a nmero decimal el nmero binario 1010112. 1 0 1 0 1 12 1 * 20 = 110 1 * 21 = 210 0 * 22 = 010 1 * 23 = 810 0 * 24 = 010 1 * 25 = 3210 Suma Solucin 4310 1010112 = 43 10

El Sistema Octal: Es un sistema de numeracin cuya base es 8 y utiliza para la representacin de cantidades, los siguientes smbolos: 0, 1, 2, 3, 4, 5, 6, 7. Este sistema tambin es de los llamados posicinales y la posicin de sus cifras se mide con relacin a la coma decimal que en caso de no aparecer se supone implcitamente a la derecha del nmero. La aritmtica en este sistema es similar a la de los sistemas decimal y binario, por lo tanto entraremos en su estilo. Ejemplo 1: Qu nmero decimal representa el nmero octal 47018? Un numero octal por tanto puede convertirse fcilmente en su equivalente decimal

multiplicando cada digito octal por su valor posicional. 4*83 + 7*82 +0*81 +1*80= 2048+ 448+ 0+ 1= 249710. Ejemplo 2: Qu nmero decimal representa el nmero octal 3728? 3728 = 3 x (82) + 7 x (81)+ 2 x (80) = 3 x 64 + 7 x 8 + 2 x 1 = 250 10

Ejemplo 3: Qu nmero decimal representa el nmero octal 24,68? Nota. Las fracciones las separaremos con coma y no por punto. 24,68 = 2 x (81) + 4 x (80)+ 6 x (8-1) = 2 x (8) + 4 x (1)+ 6 x (0,125) =20,7510.

Conversin de decimal a octal. Un entero decimal se puede convertir en octal mediante el uso del mismo mtodo de divisin repetida que se us en la conversin decimal a binario, pero con un factor de divisin de 8 en lugar de 2. Ejemplo. Qu nmero octal representa el nmero decimal 26610? 266 / 8 = 33 + residuo de 2 3 3/ 8 = 4 4 /8=0 + residuo de 1 + residuo de 4 Resultado .26610= 4128

Note que su primer residuo se transforma en el digito menos significo (LSD) del nmero octal y el ultimo residuo se convierte ms significativo (MSD).

Conversin de octal a binario. La ventaja principal del sistema numrico octal es la facilidad con la cual puede

realizarse la conversin entre nmeros binarios y octales. La conversin de octal a binario se lleva a cabo convirtiendo cada digito octal en su equivalente binario de tres bits. Los ocho dgitos posibles se convierten como se indica en la siguiente tabla.
Octal 0 1 2 3 4 5 6 7

Binario

000

001

010

011

100

101

110

111

Por medio de estas conversiones cualquier digito octal se convierte en binario convirtindolo de manera individual.

Ejemplo. Convertir el nmero octal 4728 a binario (usar 3 bits para representar cada cifra): 4 7 2

100

111

010

Por tanto el numero octal 4728 es equivalente al binario 1001110102.

Conversin de binario a octal. La conversin de enteros binarios en octales es simplemente la operacin inversa del proceso anterior. Los bits del nmero binario se conjuntan en grupos de tres comenzando por el LSB. Luego cada grupo se convierte en su equivalente octal. Primer caso. Ejemplo. Para ilustrar lo antes dicho, consideremos la conversin de 1001110102 en octal.

4 Segundo caso.

28

Algunas veces el nmero binario no tendr grupos de 3 bits. En esos casos podemos agregar uno o dos ceros a la izquierda del MSB del nmero binario a fin de completar el ltimo grupo. Ejemplo. Para ilustrar lo antes dicho, consideremos la conversin de 110101102 en octal. 0 1 1 0 1 0 1 1 0

68

Note el cero agregado para completar el grupo de 3 bits.

Teorema Fundamental de la Numeracin (TFN). Se trata de un teorema que relaciona una cantidad expresada en cualquier sistema de numeracin con la misma cantidad expresada en el sistema decimal. Ejemplo: Supongamos la cantidad 201,13 expresada en el sistema de numeracin de base tres que utiliza los dgitos para la representacin de cantidades 0, 1 y 2 Cul ser la representacin de la misma cantidad en el sistema decimal? 201,13 = 2*32+ 0*31+ 1*30+ 1*3-1 = 18+0+1+0,333=19,33310. Recordar que usamos la coma decimal, en lugar del punto. El Sistema Hexadecimal: Es un sistema posicional de numeracin en el que su base es 16, por tanto, utilizar 16 smbolos para la representacin de cantidades. Estos smbolos son: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Se le asignan los siguientes valores absolutos a los smbolos A, B, C, D, E, F:

SIMBOLO

VALOR ABSOLUTO

10

11

12

13

14

15

La conversin de hexadecimal a decimal es similar a las conversiones anteriores. Ejemplo 1: Qu nmero decimal representa el nmero hexadecimal 2CA16 utilizando el TFN (Teorema Fundamental de la Numeracin)? 2*162+ C*161+ A*160= 2*162+ 12*161+10*160= 51210+19210+1010= 71410.

Ejemplo 2: Qu nmero decimal representa el nmero hexadecimal 35616 utilizando el TFN (Teorema Fundamental de la Numeracin)?

35616= 3 x 162 + 5 x 161 + 6 x 160 =76810 + 8010 + 610 = 85410. Conversin de decimal a hexadecimal. Recordemos que efectuamos la conversin de decimal a binario por medio de la divisin repetida por dos y de decimal a octal por medio de la divisin repetida por 8. De igual manera la conversin de decimal a hexadecimal se puede efectuar por medio de la divisin repetida por 16. Ejemplo 1. Convierta el nmero decimal 42310 a hexadecimal. Solucin: 423 /16 = 26 + residuo de 710 716

26 / 16

1 + residuo de 1010 ..A16

Resultado

1 /16

= 0 + residuo de 1 ..116

Respuesta 42310= 1A716 Ejemplo 2. Convierta el nmero decimal 21410 a hexadecimal. Solucin. 214 /16 =13 + residuo de 610..616 Resultado 13 /16 = 0 + residuo de 1310.D16

Respuesta 21410 = D616.

Conversin de hexadecimal a binario.

Al igual que el sistema numrico octal, el sistema hexadecimal se usa principalmente para abreviar la representacin de nmeros binarios. Es una tarea relativamente simple convertir un nmero hexadecimal a binario. Cada digito hexadecimal se convierte en su equivalente binario usando 4 bits.

Ejemplo.

Convertir el nmero hexadecimal 9F216 a binario (usar 4 bits para representar cada cifra).

9 F 216 =

1001

1111

0010

Por lo tanto: 9F216 = 1001111100102.

Conversiones de binario a hexadecimal.

Esta conversin es exactamente la operacin reciproca del proceso anterior. El nmero binario se agrupa en conjunto de cuatro bits y cada grupo se convierte en su digito hexadecimal equivalente.

Ejemplo. Convertir el nmero binario 1011101001102 a hexadecimal. 1110 1011101001102 = 1011 B16 = BA616 1010 1010 A16 610 0110 616

1.2 CONVERSIN DE SISTEMA DECIMAL A CUALQUIER BASE.


Este tipo de conversin se utiliza para cambiar un nmero N de base 10 a cualquier otra base (b). Para ello, se deben realizar dos pasos por separado:

1. Convertir la parte entera del nmero N10, dividindola, sucesivamente, entre b, hasta obtener un cociente ms pequeo que b. La parte entera del nmero que estamos buscando lo compondr el ltimo cociente y los restos que se hayan ido obteniendo, tomados en orden inverso.

2. Convertir la parte fraccionaria del nmero N10, multiplicndola, repetidamente, por b, hasta obtener un cero en la parte fraccionaria o hasta que se considere oportuno, ya que, puede ser que el cambio de base de una fraccin exacta se convierta en una fraccin peridica. La parte fraccionaria del nmero buscado lo formarn las partes enteras de los nmeros que se hayan ido obteniendo en cada producto, tomados en ese mismo orden.

Ejemplo1. Para convertir el nmero 13,312510 a base 2, en primer lugar hay que dividir, sucesivamente, la parte entera del nmero, en este caso (1310), entre 2, hasta obtener un cociente ms pequeo que 2. 13 L 2 1 6L2 0 3L2 1 1L2 1 Como el ltimo cociente vale 1, ya es ms pequeo que el divisor 2, tenemos que parar de dividir. Por tanto, 1310 = 11012 El segundo paso consiste en convertir la parte fraccionaria del nmero (0,312510). Para ello, se deben realizar los siguientes clculos: 0,3125 x 2 = 0,625 x 2 = 0,25 0,5 x2= x2= 0,625 1,25; seguimos trabajando solo con la parte fraccionaria. 0,5 1,0; terminamos porque la parte fraccionaria es cero

La parte fraccionaria desaparece despus de realizar cuatro multiplicaciones. As pues, 0,312510 = 0,01012. Recuerde que usamos la coma en lugar del punto.

En resumen. 13,312510 = 1101,01012. Para comprobar si los clculos estn bien hechos, podemos realizar la conversin inversa, es decir, podemos pasar el nmero 1101,01012 a base 10. De manera que, usando el TFN los clculos son:

1101,01012 = 1 * 23 + 1 * 22 + 0 * 21 + 1* 20 + 0 * 2-1 + 1 * 2-2 + 0 * 2-3 + 1 * 2-4 = = 8 + 4 + 0 + 1 + 0 + 0,25 + 0 + 0,0625 = 13,312510. 1101,01012 = 13,312510. Ejemplo 2. Convertir: 220,910 a binario. Para la parte entera tenemos:

Dando como resultado de la parte entera: 220D = 11011100B. Posteriormente se procede a realizar las operaciones para la parte fraccionaria para pasarlo a binario.

0,9x2=1,8 0,8x2=1,6 0,6x2=1,2 0,2x2=0,4 0,4x2=0,8 0,8x2=1,6

Observa cmo se vuelve a repetir esta cantidad.

Lo anterior implicara que tenemos una fraccin peridica (nunca termina).

Quedando la parte fraccionaria de la siguiente manera: 0,

Dando como resultado total:

220

Para comprobar pasaremos el resultado obtenido en el Sistema Binario al Sistema Decimal.

= 11011100B + 0,111001B

Entero

fraccin

Convirtiendo la parte entera a decimal queda de la siguiente forma:

= = 22010.

+ 8

+ 16

+ 64 + 128

Para comprobar la parte fraccionaria Decimal, tenemos:

obtenida en el Sistema Binario al Sistema

=0,5+0,25+0,125+ =0,890625 0,9

0,015625

1.3 CONVERSIN DE CUALQUIER BASE A SISTEMA DECIMAL.

Si se tiene un nmero en base n, por ejemplo 1637(base 7), el proceso para convertirlo a base decimal es el siguiente:

Entonces 163(7) equivale a 9410 en base decimal.

Ejemplo. Aplicar este proceso para convertir el nmero binario 10012 a decimal.

Entonces 1001(2) equivale a 910 en base decimal.

Este mtodo es til para nmeros grandes, ya que para nmeros pequeos se puede utilizar el clculo mental segn las potencias de la base, como se explic anteriormente. De ser los nmeros muy grandes, habra que conocer las tablas de multiplicar de las diferentes bases, lo que resultara tedioso. De ah la utilizacin de ste sencillo mtodo de multiplicaciones y sumas.

De todos modos, es altamente recomendable conocer las tablas de multiplicar del 2, del 8, y del 16; debido al amplio uso que se le da a stos sistemas en informtica y sistemas de computacin.

1.3 RELACIN ENTRE LOS SISTEMAS BINARIOS, OCTAL Y HEXADECIMAL. Los sistemas octal y hexadecimal son la abreviatura de los sistemas binarios, es decir, representarlos de forma ms compacta.
Ejemplo 1. Convertir el numero binario 101101112 a octal y hexadecimal.

Nmero en binario convertido a grupos de 3: 010 110 111 Cero agregado Equivalente en base ocho Resultado: 101101112 = 2678 = 267O (octal) Nmero en binario convertido a grupos de 4: 1011 0111 Equivalente en base diecisis Por lo tanto 101101112 = 2678 = B7!6. Comprobacin. 101101112 = 1 + 2 + 4 + 16 + 32 + 128 = 18310. 2678 = 7 + 6 x 8 + 2 x 64 = 7 + 48 + 128 = 18310. B716 = 7 + 11 x 16 = 7 + 176 = 18310. Ejemplo 2. Convertir el numero hexadecimal 9B16 a binario y octal. Donde 916 = 10012 y B16 = 10112. Por lo tanto 9B16 = 100110112. 100110112 010 011 011 2 3 3 Equivalente octal. B 7 2 6 7

Por lo tanto: 9B16 = 100110112 = 2338.

Comprobacin. 9B16 = 11 + 9 x 16 = 11 + 144 = 15510. 100110112 = 1 + 2 + 8 + 16 + 128 = 15510. 2338 = 3 + 3 x 8 + 2 x 64 = 3 + 24 + 128 = 15510.

Ejemplo 3.
Convertir el nmero octal 3578 a binario y hexadecimal. Donde 38=0112, 58=1012 y 78= 1112. 3578 = 0111011112. Dado que 3578 = 0111011112, reagrupndolos en grupos de 4 bits, tenemos:

11102 = E16 y 111116 = F16. El cero que est a la izquierda no se toma en cuenta. Por lo tanto 3578 = 0111011112 = EF16. Comprobacin.

3578 = 7 x 80 + 5 x 81 + 3 x 82 = 7 x 1 + 5 x 8 + 3 x 64 = 7 + 40 + 192 = 23910. 111011112 = 1x20 + 1x21 + 1x22 + 1x23 + 0x24 + 1x25 + 1x26 + 1x27 = 1 + 2 + 4 + 8 + 0 + 32 + 64 + 128.

= 23910.

EF16 = F x 160 + E x 161 = 15 x 1 = 15 = 23910. + 14 x 16 + 224

1.5 SISTEMAS DE NUMERACIN SIGNADO.


En los apartados anteriores solo vimos nmeros no signados (positivos), pero en la prctica nos encontramos con nmeros negativos, por lo cual veremos los complementos a 1 y 2. i. Complemento a dos.

El complemento a dos de un nmero N, compuesto por n bits, se define como: C2N = 2n N. Veamos un ejemplo: tomemos el nmero N = 4510 = 1011012, que tiene 6 bits, y calculemos su complemento a dos: N = 4510; n = 610; 26 = 6410 y, por tanto: C2N = 6410 4510 = 1910 = 0100112.

ii.

Complemento a uno.

El complemento a uno de un nmero N, compuesto por n bits es, por definicin, una unidad menor que el complemento a dos, es decir: C1N = C2N 1. Y, por la misma razn: C2N = C1N + 1. Calculemos el complemento a uno del mismo nmero del ejemplo anterior: Siendo N = 4510 = 1011012, y su complemento a dos C2N = 0100112 C1N = C2N 1 = 0100112 0000012 = 0100102 C1N = 0100102

Da la sensacin de que calcular el complemento a uno no es ms que una forma elegante de complicarse la vida, y que no va a ser ms sencillo restar utilizando el complemento a dos, porque el procedimiento para calcular el complemento a dos es ms difcil y laborioso que la propia resta. Pero es mucho ms sencillo de lo que parece.

En realidad, el complemento a uno de un nmero binario es el nmero resultante de invertir los UNOS y CEROS de dicho nmero.

Por ejemplo si: N = 1101001012. Obtenemos su complemento a uno invirtiendo ceros y unos, con lo que resulta: C1N = 0010110102. Y su complemento a dos es:

C2N = C1N + 1 = 0010110102 + 1 = 0010110112.

Ejemplo de clculo de complementos a uno y dos. Sea:

N = 01101101012. El complemento a uno es (invierte ceros y unos): C1N = 10010010102. Y el complemento a dos es (smale 1): C2N = 10010010112.

Representacin de nmeros enteros con signo. Existen tres representaciones que han sido usadas para manejar internamente nmeros enteros con signo en las computadoras digitales. Estas son: Magnitud y signo. Complemento a 1 (complementos a la base disminuida). Complemento a 2 (complemento a la base).

La ms sencilla de las tres es la representacin en magnitud y signo; sin embargo, es la que ocasiona mayores problemas al realizar operaciones aritmticas. Esta representacin fue usada en las primeras computadoras digitales pero en la actualidad ha cado en desuso.

Las dos representaciones que usan complemento permiten efectuar operaciones aritmticas con relativa facilidad, esto ha contribuido a que ambas hayan sido adoptadas en las computadoras actuales, siendo la representacin en complemento a 2 la ms usada. A continuacin se muestra esto.

Ejemplo. Considere el nmero decimal +15 empleando un bit ms para su representacin (magnitud y signo). +1510 = 011112, si se pone un cero a su izquierda no altera su valor y permite representar el signo +. Si realizamos su complemento a uno tenemos; 011112 complemento a uno 100002

Como se observa el bit del signo ha cambiado, por lo que se trata del -1510, esto es:

-1510 = -011112 = 100002, si realizamos su complemento a uno nuevamente tenemos:

100002 complemento a uno

011112 = +1510.

Considere nuevamente el nmero decimal +15 empleando un bit ms para su representacin, pero ahora utilizando complemento a dos. +1510 = 011112 complemento a uno 100002, sumarle 1 para complemento a 2.

+1510 = 011112

complemento a dos

100012.

Como se observa el bit del signo tambin ha cambiado, por lo que se trata del -1510, en complemento a 2, es decir: -1510 = -011112 = 100012, si realizamos su complemento a dos nuevamente tenemos: 100012 complemento a uno Obteniendo, el +15 = 011112. 011102, sumarle 1 para complemento a 2 011112.

En conclusin el complemento a uno y dos nos permiten obtener respectivamente los nmeros negativos a partir de los positivos y viceversa, donde el MSB representa el signo, de acuerdo a lo siguiente:

0 representa los positivos, y el 1 representa los negativos.

1.6 ARITMTICA BINARIA Y HEXADECIMAL.

La Unidad Aritmtico Lgica, en la CPU del procesador, es capaz de realizar operaciones aritmticas, con datos numricos expresados en el sistema binario. Naturalmente, esas operaciones incluyen la adicin, la sustraccin, el producto y la divisin. Las operaciones se hacen del mismo modo que en el sistema decimal, pero debido a la sencillez del sistema de numeracin, pueden hacerse algunas simplificaciones que facilitan mucho la realizacin de las operaciones.

Suma en binario.

Para aprender a sumar, con cinco o seis aos de edad, tuviste que memorizar las 100 combinaciones posibles que pueden darse al sumar dos dgitos decimales. La tabla de sumar, en binario, es mucho ms sencilla que en decimal. Slo hay que recordar cuatro combinaciones posibles: + 0 1 0 0 1 1 1 0+1

Las sumas 0 + 0, 0 + 1 y 1 + 0 son evidentes: 0+0=0 0+1=1 1+0=1 Pero la suma de 1+1, que sabemos que es 2 en el sistema decimal, debe escribirse en binario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra una unidad, que se suma a la posicin siguiente a la izquierda. Veamos algunos ejemplos:

Ejemplo 1. Sumar los nmeros binarios 1001002(3610) y 100102(1810). 1001002. 3610 0100102 ..1810 1101102.5410

Se observa que no se ha tenido ningn acarreo en las sumas parciales.

Ejemplo 2. Sumar 110012 (2510) y 100112 (1910).

Ejemplo 3. Sumar 12510 =125D = 11111012 = 1111101B y 8610 = 86D = 10101102 = 1010110B. Observar que se puede usar el subndice 10 o D para el decimal y el subndice para el binario. 125D1111101B 86D1010110B 211D. 11010011B

Otros ejemplos. 0102 + 1012 = 1112 0011012 + 1001012 = 1100102 10110112 + 10110102 = 101101012 1101110112+ 1001110112 = 10111101102 210 + 510 = 710 1310 + 3710 = 5010 9110 + 9010 = 18110 44310 + 31510 = 75810

Sustraccin en binario.
La tcnica de la resta en binario es, nuevamente, igual que la misma operacin en el sistema decimal. Pero conviene repasar la operacin de restar en decimal para comprender la operacin binaria, que es ms sencilla. Los trminos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.

0 1

0 0 1+1

1 1 0

Las restas 0 - 0, 1 - 0 y 1 - 1 son evidentes:

00=0 10=1 11=0


La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posicin siguiente: 10 - 1, es decir, 210 110 = 1. Esa unidad prestada debe devolverse, sumndola, a la posicin siguiente. Veamos algunos ejemplos: 1112 1012 = 0102 100012 010102 = 001112 110110012 101010112 = 001011102 1111010012 1011011012 = 0011111002 710 510 = 210 1710 1010 = 710 21710 17110 = 4610 48910 36510 = 12410

A pesar de lo sencillo que es el procedimiento de restar, es fcil confundirse. Tenemos interiorizado el sistema decimal y hemos aprendido a restar mecnicamente, sin detenernos a pensar en el significado del arrastre. Para simplificar las restas y reducir la posibilidad de cometer errores hay varias soluciones:

Dividir los nmeros largos en grupos. En el siguiente ejemplo, vemos cmo se divide una resta larga en tres restas cortas: 1001100111012 0101011100102 0100001010112 1001 1001 1101 - 0101 0111 0010 0100 0010 1011

Restar en binario usando el complemento a uno.

Y, por fin, vamos a ver cmo facilita la resta el complemento a uno. La resta binaria de dos nmeros puede obtenerse sumando al minuendo el complemento a uno del sustraendo. Veamos algunos ejemplos: Primer ejemplo:

Segundo ejemplo:

Restar en binario usando el complemento a dos.

Ahora utilizaremos el complemento a 2, que es el que emplea la tarjeta JM60 que usaremos en el curso. Primer ejemplo:

Segundo ejemplo:

Otros ejemplos de complemento a dos. Hagamos la siguiente resta, 9110 4610 = 4510, en binario: 10110112 01011102 = 01011012 Tiene alguna dificultad, cuando se acumulan los arrastres a la resta siguiente. Pero esta misma resta puede hacerse como una suma, utilizando el complemento a dos del sustraendo:

En el resultado de la suma nos sobra un bit, que se desborda por la izquierda. Pero, como el nmero resultante no puede ser ms largo que el minuendo, el bit sobrante se desprecia. Hagamos esta otra resta, 21910 2310 = 19610, utilizando el complemento a dos: 21910 = 110110112 2310 = 000101112 C2 de 23 = 11101001 El resultado de la resta ser: 110110112 + 111010012 = 1110001002. Despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 110001002 = 19610.

Multiplicacin binaria.

La multiplicacin en binario es ms fcil que en cualquier otro sistema de numeracin. Como los factores de la multiplicacin slo pueden ser CEROS o UNOS, el producto slo puede ser CERO o UNO. En otras palabras, las tablas de multiplicar del cero y del uno son muy fciles de aprender:

x 0 1

0 0 0

1 0 1

En un ordenador, sin embargo, la operacin de multiplicar se realiza mediante sumas repetidas. Eso crea algunos problemas en la programacin porque cada suma de dos UNOS origina un arrastre, que se resuelven contando el nmero de UNOS y de arrastres en cada columna. Si el nmero de UNOS es par, la suma es un CERO y si es impar, un UNO. Luego, para determinar los arrastres a la posicin superior, se cuentan las parejas de UNOS.

Veamos, por ejemplo, una multiplicacin:

334910 1310

4353710

Para comprobar que el resultado es correcto, convertimos los factores y el resultado al sistema decimal: 334910 * 1310 = 4353710.

Divisin binaria.
Igual que en el producto, la divisin es muy fcil de realizar, porque no son posibles en el cociente otras cifras que UNOS y CEROS. Consideremos el siguiente ejemplo, 42 6 = 7, en binario:

4210

610 710

Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismo nmero de cifras (101 entre 110, en el ejemplo). Si no puede dividirse, se intenta la divisin tomando un dgito ms (1010 entre 110). Si la divisin es posible, entonces, el divisor slo podr estar contenido una vez en el dividendo, es decir, la primera cifra del cociente es un UNO. En ese caso, el resultado de multiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo del divisor y bajamos la cifra siguiente.

El procedimiento de divisin contina del mismo modo que en el sistema decimal.

Aritmtica hexadecimal.
En el sistema hexadecimal, al igual que en el sistema decimal, binario y octal, se pueden hacer diversas operaciones matemticas. Entre ellas se encuentra la resta entre dos nmeros en sistema hexadecimal, la que se puede hacer con el mtodo de complemento a 15 o tambin utilizando el complemento a 16. Adems de stas, deberemos manejar adecuadamente la suma en sistema hexadecimal, explicada a continuacin: Suma. La adicin de los nmeros hexadecimales se efecta de manera similar a la adicin decimal, siempre y cuando recuerde que el mayor digito hexadecimal es (F) y no 9 para realizar esta operacin se sugiere el siguiente procedimiento:

1.-sume los dos dgitos hexadecimales en decimal, insertando mentalmente el equivalente decimal para nmeros mayores de 9. 2.-Si la suma es 15 o menos, esta puede expresarse directamente como un digito hexadecimal. 3.-Si la suma es mayor o igual a 16, reste 16 y acarree un 1 hacia el digito de la siguiente posicin.

Ejemplo. Sumar los nmeros hexadecimales 3A943B16 y 3A943B16. 1 11 Acarreos 3A943B16 Donde: B16 + 516 = 1110 + 510 = 1610 = 1016 (0 y llevamos 1). + 23B7D516 116 + 316 + D16 = 410 + 1310 = 1710 = 1116 (1 y llevamos 1). 5E4C1016 116 + 416 + 716 = 510 + 710 = 1210 = C16 (no hay acarreo). 916 + B16 = 910 + 1110 = 2010 =1416 (4 y llevamos 1). 116 + A16 + 316 = 410 + 1010 = 1410 = E16 (no hay acarreo). 316 + 216 = 516 (no hay acarreo).

Resta Hexadecimal. Las restas Hexadecimales se pueden resolver fcilmente utilizando el complemento a 15 o el complemento a 16. Estos procesos hacen que una resta se convierta en una suma en sistema hexadecimal. Complemento a 15.

Podemos hacer la resta de dos nmeros hexadecimales utilizando el complemento a 15. Para ello tendremos que sumar al minuendo el complemento a quince del sustraendo, y finalmente sumarle el bit de overflow (bit que se desborda).

Para entender la resta en complemento a 15 lo analizaremos con un ejemplo. Esta es la resta que tenemos que resolver: A4FC916 DE816 Primero tenemos que hacer que el minuendo y el sustraendo tengan la misma cantidad de nmeros. Para ello, aadiremos ceros al sustraendo hasta que sean suficientes. A4FC916 - 00DE816 Despus, crearemos un nuevo nmero con la misma cantidad de nmeros que el nuevo sustraendo. Como en el sistema hexadecimal el mayor nmero que tenemos es el 15, que corresponde a la letra F, tendremos que escribir la F tantas veces como nmeros tiene el sustraendo. La resta se hace siguiendo las normas generales de la resta comn. FFFFF16 00DE816 FF21716

complemento a 15 de 00DE816.

La diferencia obtenida se denomina el complemento a 15. Recuerda el valor correspondiente a cada letra al operar. Ahora tendremos que sumar el minuendo y el complemento a 15 utilizando la suma en sistema hexadecimal, mencionada anteriormente. A4FC916 + FF21716 1A41E016 Con la suma obtenemos el resultado 1A41E016, pero no es la respuesta final. Te habrs dado cuenta que este nuevo nmero tiene ms cifras que los nmeros inciales que tenamos que restar. Tenemos que quitar el nmero de la izquierda (en este caso, el 1) y sumarlo. A41E016 + 116 A41E116. Por lo tanto. Comprobacin Sumamos la diferencia con el sustraendo, para obtener el minuendo. Hexadena que presto la F a C.

A4FC916 - 00DE816 A41E116.

116 + 816 = 916 E16 + E16 = C16 + 1016 = 1410 + 1410 = 1210 + 1610 Como F presto a C, esta se convirti en E. 116 + D16 = E16 = 1410. 416 + 016 = 416. A16 + 016 = A16.

Complemento a 16. Tambin podemos hacer la resta de dos nmeros hexadecimales utilizando el complemento a 16, siguiendo un proceso similar que en el caso del complemento a 15. Para resolver la resta, tendremos que sumar al minuendo el complemento a diecisis del sustraendo.

Esta es la resta que tenemos que resolver (la misma del ejemplo anterior):

A4FC916 DE816 Primero tenemos que hacer que el minuendo y el sustraendo tengan la misma cantidad de nmeros, al igual que ocurre en el proceso del complemento a 15.

Para ello, aadiremos ceros al sustraendo hasta que sean suficientes.

A4FC916 - 00DE816 Despus, crearemos un nuevo nmero con la misma cantidad de nmeros que el nuevo sustraendo.

Como en el sistema hexadecimal el mayor nmero que tenemos es el 15, que corresponde a la letra F, tendremos que escribir la F tantas veces como nmeros tiene el sustraendo. La resta se hace siguiendo las normas generales de la resta comn. FFFFF16 00DE816 FF21716 . Ahora tenemos que sumarle 1 a la diferencia obtenida. Este paso es muy importante, ya que es la diferencia entre hacer la resta en complemento a 15 u 16, y se suele olvidar fcilmente. Adems, recuerda que ests sumando en sistema hexadecimal, siguiendo el mismo proceso explicado anteriormente.

FF21716 + 116 FF21816

complemento a 16 de 00DE816

A la diferencia obtenida incrementada en uno le denominaremos el complemento a 16.

Ahora tendremos que sumar el minuendo y el complemento a 16.

A4FC916 + FF21816 1A41E116. Con la suma obtenemos el resultado 1A41E1.

Te habrs dado cuenta que este nuevo nmero tiene ms cifras que los nmeros inciales que tenamos que restas, cosa imposible en una resta (que la diferencia sea mayor que el minuendo y el sustraendo).

Por eso, y estando en complemento a 16, tendremos que despreciar (eliminar) el nmero de la izquierda. En este caso es el 1. La respuesta, por lo tanto, es A41E1.

En ambos casos la respuesta obtenida deber ser la misma, ya que hemos resuelto la misma resta en sistema hexadecimal.

Por lo tanto, podremos comprobar que hemos operado bien comparando las respuestas obtenidas en complemento a 15 y en complemento a 16 para una misma resta.

Finalmente realizaremos la misma resta como lo hacemos en forma decimal.

Ejemplo.

Restar el numero hexadecimal DE816 de A4FC916 como lo hara en forma anloga al sistema decimal.

E A 4 F C 916 D E 816 A 4 1 E 116

Donde: 916 - 816 = 116 C16 E16, no se puede hacer y pedimos una hexadena al siguiente (F) C16 + 1016 = 1210 + 1610 = 2810; 2810 E16 = 2810 1410 = 1410 = E16. E16 D16 = 1410 1310 = 110 = 116. A416 = A416.

Obteniendo el mismo resultado que con complemento a 16.

1.7 CDIGOS.
No toda la informacin que maneja un sistema digital es numrica, e inclusive, para la informacin numrica a veces no es conveniente utilizar el sistema binario descrito antes. Por ello es conveniente idear formas diferentes de representar (codificar) informacin diversa usando solamente ceros y unos. CDIGOS NUMRICOS.

Existen varias situaciones en las que no es conveniente utilizar el binario natural para manejar informacin numrica, entre ellas se pueden mencionar las siguientes:

Cuando se busca una conversin ms sencilla decimal - binario (cdigos BCD). Cuando adems de lo anterior se van a manejar nmeros negativos (Cdigos BCD autocomplementarios). Cuando se busca minimizar errores de sensado en encoders de posicin de una cantidad a otra (cdigo gray). Cuando se quiere detectar errores en transmisin de datos (cdigo de paridad). Cuando se quiere detectar y corregir errores en transmisin de datos (cdigo Hamming)

A continuacin se tratan algunos de estos cdigos.

CDIGO BCD (Binario Codificado en Decimal).

Los cdigos BCD nos permiten representar cada uno de los dgitos decimales (0,...,9) mediante 4 bits. El ms sencillo de los cdigos BCD es el BCD8421 o BCD natural, que consiste simplemente en representar cada dgito decimal por su binario equivalente. As tenemos:

Dgito Decimal 0 1 2 3 4

BCD8421 0000 0001 0010 0011 0100

Dgito Decimal 5 6 7 8 9

BCD8421 0101 0110 0111 1000 1001

La conversin con el sistema decimal se realiza directamente, en grupos de cuatro bits por cada dgito decimal con ponderacin 8421. Este cdigo tiene aplicacin en visualizadores (displays) hechos con leds o LCD, los cuales poseen previamente convertidores que transforman el grupo de cuatro bits BCD en otro especial, llamado 7 segmentos. Ejemplo 1. Codificar en BCD el nmero decimal 85 (recuerda usar 4 bits). 85 1000 0101

Conversin directa tpica entre un nmero en decimal y un BCD.

Ejemplo 2.

Qu nmero decimal representa el nmero binario 0011100101012? (Recuerda agruparlos en 4 bits). 0011 1001 01012 = 39510.

En el cdigo BCD: los cuatro primeros bits representan el 3.Los siguientes cuatro representan el 9 y los ltimos cuatro el 5.

Es muy importante comprender la diferencia entre conversin de un nmero decimal binario y la codificacin binaria de un nmero decimal. En cada caso el resultado final es una seria de bits. Los bits obtenidos de la conversin son dgitos binarios. Los bits obtenidos de la codificacin son combinaciones de unos ceros arregladas de acuerdo a las reglas del cdigo usado. Por tanto es extremadamente importante tener en cuenta que una serie de unos y ceros en un sistema digital puede algunas veces representar un nmero binario y otras veces representar alguna otras cantidad discreta de informacin como se especifica en un cdigo binario dado. El cdigo BCD por ejemplo, ha sido escogido de tal manera que es un cdigo y una conversin binaria directa siempre y cuando los nmeros decimales sean algn entero entre 0 y 9.

Para nmeros mayores que 9, la conversin y la codificacin son completamente diferentes. Este concepto es tan importante que vale la pena repetirlo usando otro ejemplo: la conversin binaria del decimal 1310 es 11012; la codificacin decimal 1310 con BCD es 00010011BCD.

Decimal 1310

Conversin Binaria 11012

Codificacin BCD 0001 0011BCD

Suma BCD.
Las operaciones aritmticas se hacen siguiendo las reglas convencionales. La mayor dificultad se encuentra en la generacin de acarreos.

Si a + b < 10 no existe acarreo y no se debe corregir: 3D +5D 8D 0011BCD + 0101BCD 1000BCD

Ejemplo :

Si 9 < a + b < 16 y no existe acarreo, se debe corregir sumando 6 D(01102): 6D + 8D 14D 0110BCD + 1000BCD 1110BCD
error

Ejemplo :

Al sumar en binario 0110 + 1000 se obtiene un cdigo BCD invlido, que hay que corregir para producir un resultado correcto, es decir un acarreo y 0100. Esto es: 0110BCD 1000BCD 1110BCD 0110BCD 1 0100BCD

+ +

Cdigo BCD invalido Factor de correcin Esto significa el numero 14D( 0001 0100BCD)

Si a + b > 16 y existe acarreo, se debe corregir tambin sumando 6D(01102):

Ejemplo: 9D 8D 17D 1001BCD + 1000BCD 10001BCD

error

En este caso el resultado es vlido (tienen significado en decimal) pero incorrecto (ya que es el nmero 11 en BCD). La correccin es: 1001BCD 1000BCD 10001BCD 0110BCD 10111BCD

+ +

error Factor de correccin. Esto significa 1l nmero 17D (0001 0111BCD).

La principal ventaja del cdigo BCD es la facilidad relativa para convertir a y desde decimal. Slo se requiere recordar los grupos codificados de 4 bits para los dgitos decimales del 0 al 9. Esta facilidad de conversin es especialmente importante desde el punto de vista de circuitos, porque en un sistema decimal son los circuitos lgicos los que ejecutan las conversiones a y desde decimal. El cdigo BCD se usa en mquinas digitales siempre y cuando se aplique informacin digital, ya sea como entradas o mostradas como salidas. Los voltmetros digitales, contadores de frecuencia y relojes digitales usan todos BCD, porque despliegan la informacin de salida en decimal. Las calculadoras electrnicas usan BCD porque los nmeros de entrada vienen en decimal va el teclado y los nmeros de salida son mostrados en decimal. BCD no es a menudo usado en computadoras digitales modernas de alta velocidad por dos buenas razones. Primero, como ya fue sealado, el cdigo BCD para un nmero decimal dado requiere ms bits que el cdigo binario directo y es por consiguiente menos eficiente. Esto es importante en computadoras digitales porque el nmero de lugares en memoria donde estos bits pueden ser almacenados es limitado. Segundo, los procesos aritmticos para nmeros representados en cdigo BCD son ms complicados que en binario ordinario y requieren as de circuitera ms compleja. La circuitera ms compleja contribuye a una disminucin en la velocidad a la cual tienen lugar las operaciones aritmticas. Las calculadoras que usan BCD son, por consiguiente, considerablemente ms lentas en su operacin que las computadoras.

CDIGO BCD EXCESO-3.

El cdigo BCD exceso-3 se obtiene a partir del cdigo BCD natural, simplemente sumando 310 (00112) a cada cdigo BCD de cada dgito decimal. Esto se resume en la siguiente tabla. Dgito Decimal 0 1 2 3 4 BCD EXCESO-3 0011 0100 0101 0110 0111 Dgito Decimal 5 6 7 8 9 BCD EXCESO-3 1000 1001 1010 1011 1100

Este cdigo resulta de utilidad en aplicaciones donde se requiere realizar operaciones aritmticas usando complementos. Este cdigo es llamado autocomplementario porque el complemento a 9 de un numero decimal puede ser obtenido complementando cada bit individualmente y el resultado sigue siendo un cdigo vlido en BCD exceso 3. Ejemplo: Representar el nmero 90710 en BCD exceso-3 y usar el complemento a 1 para encontrar el complemento a 9 del nmero: 90710 = 1100 0011 1010exc-3 0011 1100 0101exc-3 complemento a 1 = 09210 complemento a 9.

CDIGO BCD 2421. Este es otro cdigo BCD autocomplementario, y su nombre (2421) indica la ponderacin de sus bits para obtener su equivalente en decimal y viceversa, en la siguiente tabla se ilustra este cdigo. Dgito Decimal 0 1 2 3 4 BCD 2421 0000 0001 0010 0011 0100 Dgito Decimal 5 6 7 8 9 BCD 2421 1011 1100 1101 1110 1111

Ejemplo: Representar el nmero 90710 en BCD 2421 y usar el complemento a 1 para encontrar el complemento a 9 del nmero: 90710 = 1111 0000 11012421 0000 1111 00102421 complemento a 1 = 09210 complemento a 9.

CDIGO 2 DE 5 (BIQUINARIO). El cdigo 2 de 5 es un cdigo multibit no ponderado, es decir, los cdigos no pueden obtenerse usando una expresin polinomial; este cdigo est diseado para la deteccin de errores en diferentes tipos de clculos y operaciones con registros de corrimiento. Se usan cinco bits para representar los dgitos decimales (0-9). Como el nombre lo implica slo dos de los cinco bits son 1. Dgito Decimal 0 1 2 3 4 Cdigo 2 de 5 00011 00101 00110 01001 01010 Dgito Decimal 5 6 7 8 9 Cdigo 2 de 5 01100 10001 10010 10100 11000

Ejemplo: Representar el numero decimal 23710 en cdigo 2 de 5. 23710 = 00110 01001 100102 de 5.

CDIGO GRAY. El cdigo Gray es un tipo especial de cdigo binario que no es ponderado (los dgitos que componen el cdigo no tienen un peso asignado). Su caracterstica es que entre una combinacin de dgitos y la siguiente, sea sta anterior o posterior, slo hay una diferencia de un dgito. Por eso tambin se le llama cdigo progresivo. Esta progresin sucede tambin entre la ltima y la primera combinacin. Por eso se le llama tambin cdigo cclico. (Ver la tabla que se muestra abajo). El cdigo Gray es utilizado principalmente en sistemas de posicin, ya sea angular o lineal. Sus aplicaciones principales se encuentran en la industria y en robtica. En robtica se utilizan unos discos codificados para dar la informacin de posicin que tiene un eje en particular. Esta informacin se da en cdigo Gray. La tabla siguiente es una lista del cdigo Gray de cuatro bits para nmeros decimales del 0 al 15. Los nmeros binarios se muestran en la tabla como una referencia. Como los nmeros binarios, el cdigo Gray puede tener cualquier nmero de bits. DECIMAL 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Analizando la tabla se observa que: Cuando un nmero binario pasa de: 01112 a 10002 (de 7 a 8 en decimal) o de 11112 a 00002 (de 15 a 0 en decimal) cambian todas las cifras. Para el mismo caso pero en cdigo Gray: 0100 a 1100 (de 7 a 8 en decimal) o de 1000 a 0000 (de 15 a 0 en decimal) slo ha cambiado una cifra. BINARIO 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 GRAY 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

La caracterstica de pasar de un cdigo al siguiente cambiando slo un dgito asegura menos posibilidades de error. No es ponderado ni es un cdigo aritmtico; esto es, no hay pesos especficos asignados a las posiciones de los bits. El carcter importante del cdigo Gray es que exhibe solo un cambio de bit nico de un nmero de cdigo al siguiente. Esta propiedad es muy importante para muchas aplicaciones, tales como codificadores de posicin axial, donde la susceptibilidad a errores se incrementa con el nmero de cambios de bit entre nmeros adyacentes en una secuencia. CONVERSIN DE BINARIO A CDIGO GRAY. La conversin entre el cdigo binario y el cdigo Gray a veces es muy til. Primeramente, mostraremos cmo convertir un nmero binario a un nmero de cdigo Gray. Se aplican las siguientes reglas: El bit ms significativo (el ms a la izquierda) en el cdigo Gray es el mismo que el MSB correspondiente en el nmero binario. Yendo de izquierda a derecha, sume cada par adyacente de bits del cdigo binario, para obtener el siguiente bit del cdigo Gray. Descarte acarreos.

Ejemplo: Paso 1. El digito del cdigo Gray ms a la izquierda es el mismo que el digito del cdigo binario ms a la izquierda. 1 0 1 1 0 Binario 1 Gray

Paso 2. Sume el bit de cdigo binario ms a la izquierda el bit adyacente. 1 + 0 1 1 0 Binario 1 1 Gray

Paso 3. Sume el siguiente par adyacente. 1 0+1 1 1 1 1 0 Binario Gray

Paso 4. Sume el siguiente par adyacente y descarte el acarreo. 1 0 1+1 1 1 1 0 0 Binario Gray

Paso 5. Sume el ltimo par adyacente. 1 0 1 1 +0 1 1 1 0 1 Binario Gray

La conversin ha sido completada; el cdigo Gray es 11101.

CONVERSIN DE GRAY A BINARIO.

Para convertir de cdigo Gray a Binario, se utiliza un mtodo similar, pero con algunas diferencias. Se aplican las siguientes reglas: El bit ms significativo (el ms a la izquierda) es el cdigo binario es el mismo que el bit correspondiente en el cdigo Gray. Sume cada bit generado del cdigo binario al bit del cdigo Gray en la siguiente pocin adyacente. Descarte acarreos.

Ejemplo: Paso 1. El digito del cdigo binario ms a la izquierda es el mismo que el digito del cdigo Gray ms a la izquierda. 1 1 0 1 1 Gray 1 Binario

Paso 2. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la siguiente posicin. Descarte acarreos. (En negrilla bit que se suman). 1 1 1 0 0 1 1 Gray Binario

Paso 3. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la siguiente posicin. 1 1 0 1 1 Gray 1 0 0 Binario

Paso 4. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la siguiente posicin. 1 1 0 1 1 Gray 1 0 0 1 Binario

Paso 5. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la siguiente posicin. Descarte acarreos. 1 1 0 1 1 Gray 1 0 0 1 0 Binario La conversin ha sido completada; el cdigo binario es 100102.

APLICACIN A SENSORES PTICOS.

La principal caracterstica del cdigo Gray (que slo cambia un bit entre dos cdigos consecutivos) es muy utilizada en sensores pticos para codificar la posicin (angular o lineal) mediante discos o cintas codificadas en Gray, dependiendo del caso.

Por ejemplo, en la siguiente figura se ilustra la codificacin en dos colores (blanco y negro) de un disco que ser montado sobre la flecha de un motor. Se usa el cdigo Gray de 4 bits para codificar la posicin angular de la flecha. Cada sector en el disco tiene un cdigo de posicin de 0 a 15. Se usarn sensores opto electrnicos reflectivos para determinar la posicin de la flecha en un sector o sea, con una resolucin de 1/16 de vuelta, o de 22.5. Si se desea una mejor resolucin se debern usar ms bits, y por lo tanto mayor nmero de sectores.

Aunque el disco pudiera ser codificado en binario natural, el hacerlo en Gray tiene la ventaja de que si el sensor queda ubicado entre dos sectores, la lectura tomada producir un error de cuando mucho media posicin. En cambio, si es en binario este error puede ser tan grande como 180.

CDIGOS ALFANUMRICOS. Muchas aplicaciones de sistemas digitales (especialmente en las computadoras o la transmisin de textos) requieren del procesamiento de datos como nmeros, letras y smbolos especiales. Para manejar estos datos usando dispositivos digitales, cada smbolo debe estar representado por un cdigo binario. El cdigo alfanumrico ms generalizado en la actualidad es el denominado ASCII (American Standard Code for Information Interchange). Este es un cdigo de 7 bit. La siguiente tabla muestra una parte del cdigo ASCII:

Rango (hexadecimal 0 al 19 30 al 39 41 al 5A 61 al 7A

Caracteres cdigos de control y comunicaciones dgitos del 0 al 9 letras maysculas de la A a la Z letras minsculas de la a a la z

Ejemplo: la palabra "Start" se representa en cdigo ASCII como sigue 1010011 1110100 1100001 1110010 1110100 S t a r t

CDIGO DE SIETE SEGMENTOS. Un dispositivo muy generalizado por su sencillez y bajo costo en dispositivos digitales de visualizacin es el exhibidor o display de siete segmentos, el cual consiste en un arreglo de siete indicadores luminosos (LEDs) u opacos (cristal lquido) arreglado como se muestra en la siguiente figura. Existen dos tipos de exhibidores de siete segmentos construidos con LEDs, estos son los de nodo comn y los de ctodo comn, los cuales se muestran tambin en la figura.

Este tipo de displays permite la representacin de informacin de tipo numrico principalmente, sin embargo, tambin permite algunos caracteres alfabticos, tales como: a, A, b, c, C, d, E, F, G, H, y, j, L, o, O, p, q, r, s, u, z. En la siguiente tabla se muestra el cdigo de 7 segmentos para un display de ctodo comn para los dgitos decimales y el equivalente en BCD:

Decimal Nmeros 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Entradas binario. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

en Salidas para el display de 7 segmentos D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 x x x x x x b 1 1 1 1 1 0 0 1 1 1 x x x x x x c 1 1 0 1 1 1 1 1 1 1 x x x x x x d 1 0 1 1 0 1 1 0 1 1 X X X X X X e 1 0 1 0 0 0 1 0 1 0 x x x x x x f 1 0 0 0 1 1 1 0 1 1 x x x x x x g 0 0 1 1 1 1 1 0 1 1 x x x x x x

CDIGOS PARA DETECCIN Y CORRECCIN DE ERRORES. Los sistemas digitales pueden cometer errores de vez en cuando. Aunque los dispositivos en circuito integrado tales como microprocesadores, compuertas lgicas o circuitos de memoria carecen de partes mviles y por lo tanto tienen alta confiabilidad, pero los dispositivos que tienen interaccin con partes mviles son menos confiables. Se pueden producir errores por polvo en las cabezas lectoras de una unidad de disco. Tambin es muy comn la ocurrencia de errores en la transmisin de datos a distancia. Los datos que se transmiten por modem (a travs de lnea telefnica) pueden recibirse incorrectamente si la lnea tiene ruidos. Tambin las perturbaciones en el suministro de energa elctrica pueden producir errores. En resumen, cuando se leen, escriben o transmiten caracteres de un sitio a otro, pueden producirse errores. TRANSMISIN SERIE Y PARALELO. Existen dos mtodos bsicos para transmitir informacin entre dos dispositivos digitales, como se ilustra en la siguiente figura, la transmisin de datos digitales en paralelo ocupa una lnea fsica por cada bit de los datos a enviar, esto hace que este tipo de transmisin sea usada en distancias relativamente cortas (unos cuantos metros), ya que de otra manera se vuelve muy costosa

Por otro lado, la transmisin de datos a distancias muy grandes (del orden de cientos de metros a miles de kilmetros) hace necesario usar menos lneas fsicas, en este caso puede usarse el esquema de la figura siguiente o transmisin en serie, la cual utiliza una sola lnea para enviar el nmero de bits que se desee.

La transmisin en serie resulta econmica por el nmero reducido de lneas que requiere e incluso el hecho de que permite usar en lugar de lneas conductoras, el aire o el vaco, cuando en lugar de pulsos elctricos se usa radiacin electromagntica (luz, ondas de radio, ultrasonido, etc.). A cambio de esta economa, el transmisor y el receptor se vuelven un poco ms complejos, adems de que el trayecto que recorre la informacin (por ser largo) se vuelve ms susceptible a interferencias.

CDIGO DE PARIDAD. Un mtodo muy simple, pero ampliamente utilizado por su sencillez para detectar errores en transmisin de datos consiste en aadir un bit de paridad (p) a cada carcter, normalmente en la posicin ms significativa. En el cdigo de paridad par, el bit de paridad (p) se elige de manera que el nmero de bits 1 del dato sea un nmero par incluyendo el bit de paridad. En el cdigo de paridad impar, el bit de paridad se elige de modo que el nmero de bits 1 (incluyendo el de paridad) del dato sea impar. De esta manera, cuando cambia un bit durante la transmisin, el nmero de unos en el carcter recibido tendr la paridad equivocada y el receptor sabr que se ha producido un error. Ejemplo: La siguiente tabla muestra un cdigo de paridad par de 8 bits para los caracteres ASCII FIE.

Ejemplo Si un transmisor enva la informacin anterior y hay errores en la transmisin, suponiendo que el receptor recibe la informacin, mostrada en la siguiente tabla, donde se anotan los datos que llegaron errneos y si se detect o no el error, agrega en la columna vaca (bits errneos) cuantos bits cambiaron en la transmisin.

Como puede verse, el cdigo de paridad no siempre resulta efectivo para detectar errores. Qu tipo de errores si detecta y cules no?

CDIGO DE HAMMING. Richard Hamming (1950) ide un mtodo no slo para detectar errores sino tambin para corregirlos, y se conoce como cdigo Hamming. En l se aaden k bits de paridad a un carcter de n bits, formando un nuevo carcter de n + k bits. Los bits se enumeran empezando por 1, no por 0, siendo el bit 1, el de la izquierda, el ms significativo. Todo bit cuyo nmero sea potencia de 2 es un bit de paridad y todos los dems se utilizan para datos. Para un carcter ASCII de 7 bits, se aaden 4 bits de paridad. Los bits 1, 2, 4 y 8 son bits de paridad; 3, 5, 6, 7, 9, 10 y 11 son los 7 bits de datos. Cada bit de paridad comprueba determinadas posiciones de bit y se ajusta de modo que el nmero total de unos en las posiciones comprobadas sea par, si se trata de paridad par. Las posiciones de los bits comprobados por los de paridad son: El bit 1 comprueba los bits 1, 3, 5, 7, 9 y 11. El bit 2 comprueba los bits 2, 3, 6, 7, 10 y 11. El bit 4 comprueba los bits 4, 5, 6 y 7. El bit 8 comprueba los bits 8, 9, 10 y 11. En general, el bit n es comprobado por los bits b1, b2,....,bj, tales que b1 + b2 + .... + bj = n. Por ejemplo, el bit 5 es comprobado por los bits 1 y 4 porque 1 + 4 = 5. El bit 6 es comprobado por los bits 2 y 4 porque 2 + 4 = 6. Ejemplo: Usando paridad par, construir el cdigo de Hamming para el carcter "b". Cdigo ASCII para "b" (62H = 110 0010) D6=1 D5=1 D4=0 D3=0 D2=0 D1=1 D0=0

Cdigo de Hamming para "b"

D6 1,3,5,7,9,11(para 2 unos)

D5

D4

D3

D2

D1

D0

4,5,6,7(para tener 2 unos) 8,9,10,11(para 2 unos)

2,3,6,7,10,11(para tener 2 unos)

Explicacin

El bit 1 se puso a cero porque los bits 3 y 5 estn en uno, para tener paridad par. El bit 2 se puso a cero porque los bits 3 y 10 estn en uno, para tener paridad par. El bit 4 se puso a uno porque el bit 5 est en uno, para tener paridad par. El bit 8 se puso a uno porque el bit 10 est en uno, para tener paridad par.

El carcter ASCII "b" se representa por el nmero binario 1100010. El cdigo de Hamming para "b" en binario es 00111001010.

Ejemplo:

Considere que pasara si el bit 1 se modificara durante la transmisin. El carcter recibido sera 10111001010 en lugar de 00111001010. El receptor comprobara los 4 bits de paridad con los resultados siguientes:

Bit de paridad 1 incorrecto (los bits 1, 3, 5, 7, 9 y 11 contienen tres unos). Bit de paridad 2 correcto (los bits 2, 3, 6, 7, 10 y 11 contienen dos unos). Bit de paridad 4 correcto (los bits 4, 5, 6 y 7 contienen dos unos). Bit de paridad 8 correcto (los bits 8, 9, 10 y 11 contienen dos unos).

El nmero total de unos en los bits 1, 3, 5, 7, 9 y 11 debera de ser par, ya que se est usando paridad par. El bit incorrecto debe ser uno de los bits comprobados por el bit de paridad 1, es decir, uno de los bits 1, 3, 5, 7, 9 u 11. Como el bit de paridad 2 es correcto, sabemos que los bits 2, 3, 6, 7, 10 y 11 son correctos, de forma que el error no estaba en los bits 3, 7 u 11. Esto deja los bits 1, 5 y 9. El bit de paridad 4 es correcto, lo cual significa que los bits 4, 5, 6 y 7 no contienen errores. Esto reduce la eleccin al 1 o 9. El bit de paridad 8 tambin es correcto y, por lo tanto, el bit 9 es correcto. Por consiguiente, el bit incorrecto debe ser el 1. Dado que se recibi como un 1, debera haberse transmitido como un 0. En esta forma se pueden corregir los errores.

Potrebbero piacerti anche