sistemas de numeración

33
ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V Electrónica Técnicas Digitales 5º Año Desarrollo de apuntes para asignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri 1 Unidad 1 – Sistemas de Numeración y Códigos Temas Sistemas de numeración usuales en electrónica Representación posicional de los números Sistemas de numeración decimal, binario, octal y hexadecimal Conversiones entre sistemas Representación de números enteros Signo y Módulo Complemento a C-1 Complemento a C-2 Exceso a 2 n-1 Desbordamiento (OVERFLOW) Representación de números con punto fijo Binario puro Decimal codificado en binario (BCD) BCD natural, BCD Aiken, BCD Exceso 3, BCD 5421, Gray Decimal desempaquetado Decimal empaquetado Códigos detectores y correctores de errores Códigos de Hamming Representación en coma flotante Códigos de entrada / salida Código BCD de intercambio normalizado Código EBDIC Código ASCII

Upload: luis-biglieri

Post on 12-Jun-2015

4.821 views

Category:

Education


0 download

DESCRIPTION

Descripción sobre los sistemas de numeración utilizados en las técnicas digitales.

TRANSCRIPT

Page 1: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

1

Unidad 1 – Sistemas de Numeración y Códigos Temas Sistemas de numeración usuales en electrónica Representación posicional de los números Sistemas de numeración decimal, binario, octal y hexadecimal Conversiones entre sistemas Representación de números enteros Signo y Módulo Complemento a C-1 Complemento a C-2 Exceso a 2 n-1 Desbordamiento (OVERFLOW) Representación de números con punto fijo Binario puro Decimal codificado en binario (BCD) BCD natural, BCD Aiken, BCD Exceso 3, BCD 5421, Gray Decimal desempaquetado Decimal empaquetado Códigos detectores y correctores de errores Códigos de Hamming Representación en coma flotante Códigos de entrada / salida Código BCD de intercambio normalizado Código EBDIC Código ASCII

Page 2: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

2

Sistemas de Numeración

Definición de Sistema de Numeración Cualquier sistema consta fundamentalmente de una serie de elementos que lo

conforman, una serie de reglas que permite establecer operaciones y relaciones entre tales elementos. Por tanto, puede decirse que un Sistema de Numeración es el conjunto de elementos o símbolos, operaciones y relaciones que, a través de reglas propias, permite representar datos. Tiene como característica una base que determina el diferente número de símbolos que lo componen.

El más conocido y usado es el sistema de numeración decimal, no es el único y por

el contrario los más utilizados en los circuitos digitales son el octal, el hexadecimal y sobre todo el binario. Estos sistemas de numeración son sistemas posicionales, que se caracterizan porque un símbolo tiene distinto valor según la posición que ocupa en la cifra.

Sistema de Numeración Decimal El sistema decimal, como ya mencionamos, es un sistema posicional, ya que el

significado de un símbolo depende fundamentalmente de su posición relativa al símbolo coma (,), denominado coma decimal, que en caso de ausencia se supone colocada implícitamente a la derecha.

Es el sistema de numeración que utilizamos habitualmente, y se compone de diez símbolos o dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9) a los que otorga un valor dependiendo de la posición que ocupen en la cifra: unidades, decenas, centenas, etc.

El valor de cada dígito está asociado al de una potencia de base 10, número que coincide con la cantidad de símbolos o dígitos del sistema decimal, y un exponente igual a la posición que ocupa el dígito menos uno, contando desde la derecha (Teorema Fundamental de la Numeración).

En el sistema decimal el número 528, por ejemplo, significa: 5 centenas + 2 decenas + 8 unidades, es decir: 5*102 + 2*101 + 8*100 o, lo que es lo mismo (según el TFN): 500 + 20 + 8 = 528 En el caso de números con decimales, la situación es análoga aunque, en este

caso, algunos exponentes de las potencias serán negativos, concretamente el de los dígitos colocados a la derecha del separador decimal. Por ejemplo, el número 8245,97 se calcularía como:

8 unidades de mil + 2 centenas + 4 decenas + 5 unidades + 9 décimas + 7 céntimas 8*103 + 2*102 + 4*101 + 5*100 + 9*10-1 + 7*10-2, es decir: 8000 + 200 + 40 + 5 + 0,9 + 0,07 = 8245,97

Page 3: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

3

Sistema de Numeración Binario El sistema binario es el sistema de numeración que utilizan internamente los

circuitos digitales, por ello será el sistema al que prestaremos mayor atención y estudio. Este sistema utiliza sólo dos dígitos, el cero (0) y el uno (1). En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición que

ocupe. El valor de cada posición es el de una potencia de base 2, elevada a un exponente igual a la posición del dígito menos uno. Se puede observar que, tal y como ocurría con el sistema decimal, la base de la potencia coincide con la cantidad de dígitos utilizados (2) para representar los números.

De acuerdo con estas reglas, el número binario 1011 tiene un valor que se calcula así:

1*23 + 0*22 + 1*21 + 1*20 , es decir: 8 + 0 + 2 + 1 = 11 y para expresar que ambas cifras describen la misma cantidad lo escribimos así: 1011(2 = 11(10 Cada cifra o dígito de un número representado en este sistema se denomina bit

(contracción de binary digit). Para la medida de cantidades de información representadas en binario se utilizan

una serie de múltiplos del bit que poseen nombre propio; éstos son los siguientes:

Nibble o cuarteto. Es el conjunto de cuatro bits (1001). Byte u octeto. Es el conjunto de ocho bits (10101010). Kilobyte (Kb). Es el conjunto de 1024 bytes (1024 * 8 bits). Megabyte (Mb). Es el conjunto de 1024 kilobytes (10242 * 8 bits). Gigabyte (Gb). Es el conjunto de 1024 megabytes (10243 * 8 bits). Terabyte (Tb). Es el conjunto de 1024 gigabytes (10244 * 8 bits).

La razón por la que se utiliza el factor multiplicador 1024 en lugar de 1000, como

sucede en otras magnitudes físicas, es por ser el múltiplo de 2 más próximo a 1000, cuestión importante desde el punto de vista electrónico.

La tabla de equivalencias entre los múltiplos del bit es la siguiente: 1 nibble = 4 bits. 1 byte = 2 nibbles = 8 bits. 1 kilobyte = 1024 bytes = 1024 * 8 bits = 8192 bits. 1 megabyte = 1024 kilobytes = 10242 bytes = 10242 * 8 bits = 8.388.608 bits. 1 gigabyte = 1024 megabytes = 10242 kilobytes = 10243 bytes = 10243 * 8 bits = = 8.589.934 592 bits. 1 terabyte = 1024 gigabytes = 10242 megabytes = 10243 kilobytes = 10244 bytes = = 10244 * 8 bits = 8.796.093.022.208 bits. El byte u octeto es considerado como la unidad básica de medida de la información

representada en informática.

Page 4: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

4

Sistema de Numeración Octal En el sistema octal, los números se representan mediante ocho dígitos diferentes:

0, 1, 2, 3, 4, 5, 6 y 7. Cada dígito tiene, naturalmente, un valor distinto dependiendo del lugar que ocupen. El valor de cada una de las posiciones viene determinado por las potencias de base 8. La conversión de un número decimal a octal, y viceversa, se realiza del mismo modo que la de los números binarios, aunque, lógicamente, se emplea como base el número 8 en vez del 2.

Por ejemplo, un número en octal sería 125. Estamos en base 8,así que el número se traduce a decimal así:

1 * 82 + 2 * 81 + 5 * 80 = 64 + 16 + 5 = 85 (decimal) Sistema de Numeración Hexadecimal En este sistema, los números se representan con dieciséis símbolos: 0, 1, 2, 3, 4,

5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F, representando las cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dígitos mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende, como es lógico, de su posición, que se calcula mediante potencias de base 16.

Por ejemplo, un número hexadecimal 4F3D:

4 * 163 + 15 * 162 + 3 * 161 + 13 * 160 = 4 * 4096 + 15 * 256 + 3 * 16 + 13 = = 20285(10

Tabla de equivalencias entre los sistemas

Decimal Binario Octal Hexadecimal Decimal Binario Octal Hexadecimal0 0 0 0 16 10000 20 101 1 1 1 17 10001 21 112 10 2 2 18 10010 22 123 11 3 3 19 10011 23 134 100 4 4 20 10100 24 145 101 5 5 21 10101 25 156 110 6 6 22 10110 26 167 111 7 7 23 10111 27 178 1000 10 8 24 11000 30 189 1001 11 9 25 11001 31 19

10 1010 12 A 26 11010 32 1ª11 1011 13 B 27 11011 33 1B12 1100 14 C 28 11100 34 1C13 1101 15 D 29 11101 35 1D14 1110 16 E 30 11110 36 1E15 1111 17 F 31 11111 37 1F

Page 5: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

5

Conversiones Entre Los Sistemas De Numeración Se denomina conversión entre números representados en distinto sistema de

numeración a la transformación, de una determinada cantidad expresada en uno de dichos sistemas de numeración, a su representación equivalente en el otro sistema.

A continuación vamos a analizar todas las posibles conversiones que existen entre los sistemas de numeración estudiados (decimal, binario, octal y hexadecimal), teniendo en cuenta que hemos seleccionado aquellos métodos más utilizados y sencillos; por tanto, debemos considerar que existen otros muchos métodos de conversión que no vamos a estudiar.

I – Conversión decimal-binario Los métodos más conocidos para convertir un número decimal a su equivalente

número en binario son los siguientes: 1) Divisiones sucesivas entre 2. Este método se utiliza para convertir números

enteros en decimal a su respectivo número entero en binario. Se trata de dividir sucesivamente el número decimal y los sucesivos cocientes entre 2, hasta que el cociente en una de las divisiones tome el valor “0”. La unión de todos los restos obtenidos, escritos en orden inverso, nos proporciona el número inicial expresado en el sistema binario. Por ejemplo, para convertir el número 10 de decimal a binario:

Otro Ejemplo, convertir el número 15 a binario:

Page 6: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

6

Convertir el número 1994 a binario:

2) Multiplicaciones sucesivas por 2. Se utiliza para convertir una fracción decimal a su equivalente fracción en binario. Consiste en multiplicar dicha fracción por 2, obteniendo en la parte entera del resultado el primero de los dígitos binarios de la fracción que buscamos. A continuación repetimos el mismo proceso con la parte fraccionaria del resultado anterior, obteniendo en la parte entera del nuevo resultado el segundo de los dígitos buscados. Iteraremos sucesivamente de esta forma, hasta que desaparezca la parte fraccionaria de los resultados parciales o hasta que tengamos los suficientes dígitos binarios que nos permitan no sobrepasar un determinado error. En una fracción binaria, al igual que en una decimal, puede aparecer un conjunto de dígitos que se repitan periódicamente. Convertir la fracción decimal 0.75 en fracción binaria:

Convertir la fracción decimal 0.828125 en fracción binaria:

Page 7: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

7

Convertir la fracción decimal 0.333 en fracción binaria:

Convertir la fracción decimal 0.3 en fracción binaria:

a) Método de las restas sucesivas de las potencias de 2. Es un método válido para convertir cualquier número decimal con o sin decimales a binario. Para utilizarlo es necesario tener presente una tabla de potencias de 2 (positivas y negativas) similar a la representada en la siguiente tabla.

Potencias de 2 Posición Potencias de 2 Posición …………….. …….… 32 5

65536 16 16 4 32768 15 8 3 16384 14 4 2 8192 13 2 1 4096 12 1 0 2048 11 0,5 -1 1024 10 0,25 -2 512 9 0,125 -3 256 8 0,0625 -4 128 7 0,03125 -5 64 6 …………….. …….…

Page 8: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

8

El método consiste en tomar el número a convertir y buscar la potencia de 2 más grande que se pueda restar de dicho número, tomando como nuevo número para seguir el proceso el resultado de la resta. Se repiten las mismas operaciones hasta que el número resultante en una de las restas es “0” ó inferior al error que deseamos cometer en la conversión. El número binario resultante será el que tiene un 1 en las posiciones correspondientes a las potencias restadas y un “0” en las que no se han podido restar.

Ejemplo: convertir el número decimal 1994 a binario. • Paso 1. La potencia de 2 mayor que se puede restar es 1024. 1994 – 1024 =970, luego corresponderá un 1 en la posición 10. • Paso 2. La potencia a restar para 970 es 512. 970 – 512 =458, luego corresponderá un 1 en la posición 9. • Paso 3. La potencia a restar para 458 es 256. 458 – 256 =202, luego corresponderá un 1 en la posición 8. • Paso 4. La potencia a restar para 202 es 128. 202 – 128 =74, luego corresponderá un 1 en la posición 7. • Paso 5. La potencia a restar para 74 es 64. 74 – 64 = 10, luego corresponderá un 1 en la posición 6. • Paso 6. La potencia a restar para 10 es 8. 10 – 8 = 2, luego corresponderá un 1 en la posición 3. • Paso 7. La potencia a restar para 2 es 2. 2 – 2 = 0, luego corresponderá un 1 en la posición 1.

El proceso se termina por haber aparecido “0” como resultado de las restas. Si escribimos un número binario con los bits a 1 en las posiciones indicadas y Oen

el resto de posiciones, será el número buscado.

Posición 10 9 8 7 6 5 4 3 2 1 0 Dígito 1 1 1 1 1 0 0 1 0 1 0

Por lo tanto: 1994(10 =11111001010(2

Page 9: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

9

II – Conversión binario-decimal

El método práctico consiste en multiplicar cada uno de los dígitos binarios por potencias crecientes de 2 a partir de la coma y hacia la izquierda, y por potencias negativas de 2 hacia la derecha de la coma, y realizar la suma de las operaciones, lo cual nos dará el número decimal buscado.

Podemos decir que este método es la aplicación directa del teorema fundamental de la numeración (TFN).

Ejemplo: Convertir 1101,011(2 a base 10 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 + 1 x 2-3 = 1 x 8 + 1 x 4 + 0 + 1 x 1 + 0 + 1 x 0,25 + 1 x 0,125 = 8 + 4 + 0 + 1 + 0 + 0,25 + 0,125 = 13,375 1101,011(2 = 13,375(10 III – Conversión decimal-octal Método de las divisiones sucesivas por 8. Se utiliza para convertir números

decimales enteros a octal y consiste en dividir el número y los sucesivos cocientes obtenidos por 8 hasta llegar a una división cuyo cociente sea 0. El número octal buscado es el compuesto por todos los restos obtenidos, escritos en orden inverso a su obtención.

Como puede observarse, este método es similar al método de conversión de decimal a binario de las divisiones por 2.

Convertir el número decimal 500 a octal:

Por lo tanto, 500 (10 = 764 (8 Método de las multiplicaciones sucesivas por 8. Se utiliza para pasar a octal una

fracción decimal. Se toma la fracción decimal y se multiplica por 8, obteniendo en la parte entera del resultado el primer dígito de la fracción octal resultante, y se repite el proceso con la parte decimal del resultado para obtener el segundo dígito y sucesivos. El proceso termina cuando desaparece la parte fraccionaria del resultado o dicha parte fraccionaria es inferior al error máximo que deseamos obtener.

Convertir la fracción decimal 0.4 a octal:

Page 10: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

10

Donde 0.4 (10 = 0.3146 (8 IV – Conversión octal-decimal Existen varios métodos, siendo el más generalizado el indicado por el TFN que

hace la conversión de forma directa por medio de la fórmula. a) Convertir el número octal 764 a decimal.

764(8 = 7 x 82 + 6 x 81 + 4 x 80 = 448 + 48 + 4 = 500(10 b) Convertir el número octal 222.3 a decimal. 222.3(8 = 2 x 82 + 2 x 81 + 2 x 80 + 3 x 8-1 = 128 + 16 + 2 + 0.375 = 146.375(10 V – Conversión decimal-hexadecimal Método de las divisiones sucesivas por 16. Sirve para convertir números decimales

enteros a hexadecimal. Se divide el número decimal y los cocientes sucesivos por 16 hasta obtener un cociente igual a 0. El número hexadecimal buscado será el compuesto por todos los restos obtenidos en orden inverso a su obtención.

a) Convertir el número decimal 1000 a hexadecimal.

Por lo tanto, 1000(10 = 3E8(16 Método de las multiplicaciones sucesivas por 16. Este método convierte números

decimales fraccionarios a su correspondiente fracción hexadecimal. La fracción decimal se multiplica por 16, obteniendo en la parte entera del resultado el primer dígito de la fracción hexadecimal buscada, y se repite el proceso con la parte fraccionaria de este resultado. El proceso se acaba cuando la parte fraccionaria desaparece o hemos obtenido un número de dígitos suficiente que nos permita no sobrepasar el máximo error que deseemos obtener.

Convertir la fracción decimal 0.4 en fracción hexadecimal.

Page 11: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

11

0.4 * 16 = 6.4 0.4 * 16 = 6.4 0.4(10 = 0.6(16 VI – Conversión hexadecimal-decimal Existen varios métodos, siendo el más utilizado el que nos ofrece el TFN que nos

da el resultado por aplicación directa de la fórmula. a) Convertir el número hexadecimal 3E8 a decimal. 3E8(16 = 3 x 162 + E x 161 + 8 x 160 = = 3 x 162 + 14 x 161 + 8 x 160 = = 768 + 224 + 8 = 1000(10 b) Convertir el número hexadecimal A3.1 a decimal. A3.1(16 = A x 161 + 3 x 160 + 1 x 16-1 = 10 x 161 + 3 x 160 + 1 x 16-1 = = 160 + 3 + 0.0625 = 163.0625(10

VII – Conversión octal-binario Para convertir un número octal a binario se sustituye cada dígito octal por sus

correspondientes tres dígitos binarios según la siguiente tabla.

a) Convertir el número octal 1274 a binario.

Por lo tanto: 1274(8 = 1010111100(2

a) Convertir el número octal 75643.57 a binario.

Dígito octal

Dígitos binarios

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

1 2 7 4 001 010 111 100

7 5 6 4 3 5 7 111 101 110 100 011 . 101 111

Luego tendremos: 75643.57(8 =111101110100011.101111(2

VIII – Conversión binario-octal

Page 12: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

12

Para convertir un número binario a octal se realiza un proceso inverso al anterior.

Se agrupan los dígitos binarios de 3 en 3 a partir del punto decimal hacia la izquierda y hacia la derecha, sustituyendo cada trío de dígitos binarios por su equivalente dígito octal.

a) Convertir el número binario 1010111100 en octal. 001 010 111 100 1 2 7 4 Luego tendremos: 1010111100(2 = 1274(8

b) Convertir el número binario 1100101001000.1011011 en octal. 001 100 101 001 000 . 101 101 100 1 4 5 1 0 . 5 5 4 Por lo tanto: 1100101001000.1011011(2 = 14510.554(8

IX – Conversión hexadecimal-binario

Para convertir un número hexadecimal a binario se sustituye cada dígito hexadecimal por su representación binaria con cuatro dígitos según la siguiente tabla.

EJEMPLOS

a) Convertir el número hexadecimal 2BC a binario. Luego: 2BC(16 = 1010111100(2

b) Convertir el número hexadecimal 7BA3.BC a binario

Luego: 7BA3.BC(16 = 111101110100011.101111(2

Dígito hexadecimal

Dígitos binarios

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

2 B C 0010 1011 1100

7 B A 3 . B C 0111 1011 1010 0011 . 1011 1100

X – Conversión binario-hexadecimal

Page 13: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

13

Para convertir números binarios a hexadecimales se realiza un proceso inverso al

anterior. Se agrupan los dígitos binarios de 4 en 4 a partir del punto decimal hacia la izquierda y hacia la derecha, sustituyendo cada cuarteto por su correspondiente dígito hexadecimal.

Al ser esta conversión inmediata y sencilla, la codificación de programas en lenguaje máquina, se realiza utilizando el sistema hexadecimal en lugar del binario.

a) Convertir el número binario 100101100 a hexadecimal. 0001 0010 1100 1 2 C Por lo tanto: 100101100(2 = 12C(16 b) Convertir el número binario 1100101001000.1011011 a hexadecimal. 0001 1001 0100 1000 . 1011 0110 1 9 4 8 . B 6 Luego tendremos: 1100101001000.1011011(2 = 1948.B6(16

XI – Conversión octal-hexadecimal Esta conversión realiza un paso intermedio utilizando el sistema binario. Primero se

convierte el número octal en binario y éste se pasa a hexadecimal.

a) Convertir el número octal 144 en hexadecimal. 1 4 4

001 100 100 144(8 = 1100100(2

100100(2 = 64(16 0110 0100

6 4

Por lo tanto: 144(8 = 64(16

XII – Conversión hexadecimal-octal Esta conversión, al igual que la anterior, realiza un paso intermedio utilizando el

sistema binario. Se convierte el número hexadecimal en binario y éste en octal.

a) Convertir el número hexadecimal 1F4 en octal.

Page 14: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

14

1 F 4

0001 1111 0100 1F4(16 = 111110100(2 111 110 100 7 6 4

111110100(2 = 764(8 Por lo tanto: 1F4(16 = 764(8

Representación de números Enteros

Signo y Módulo (SM)

En este sistema de representación, el bit que está situado más a la izquierda representa el signo, y su valor será 0 para el signo + y 1 para el signo -. El resto de bits (n-1) representan el módulo del número. Por ejemplo, representaremos el número 19 en 8 bits como: 0 0010011

signo módulo

1 0010011signo módulo

El (-19) se representa: En 16 bits: 19 se representa como 0 000000000010011 -19 se representa como 1 000000000010011

El conjunto de valores que se puede representar en un método determinado se conoce como rango de la representación. Para módulo y signo el rango de representación para n dígitos es:

-2n-1 +1 < x < 2n-1 -1 Para 1 Byte (8 bits) es -127 < x < 127 Para 2 Byte (16 bits) es -32767 < x < 32767 Para 4 Byte (32 bits) es -2147483647 < x < 2147483647

Este método tiene la ventaja de poseer un rango simétrico, pero la desventaja de poseer dos representaciones para el número 0.

Por ejemplo para 8 bits: el cero se puede representar como 00000000 y 10000000. Complemento a C-1

Page 15: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

15

Para representar un número positivo es igual al método de SM. Pero en el caso de los negativos, se obtiene complementando al positivo (cambiando 1 por 0 y viceversa) incluido el bit de signo.

Por ejemplo representamos el número 19 en 8 bits como: 00010011

el (-19): 11101100

0 0 0 1 0 0 1 1

1

1

1

0

1

1

0

0

en 16 bits: 19 se representa como 0 000000000010011 (-19) se representa 1 111111111101100 Para complemento a 1 el rango de representación para n dígitos es:

- 2n-1 +1 < x < 2n-1 -1 Para 1 Byte (8 bits) es -127 < x < 127 Para 2 Byte (16 bits) es -32767 < x < 32767 Para 4 Byte (32 bits) es -2147483647 < x < 2147483647 La representación de complemento a uno no es de uso común. Esto se debe, al

menos parcialmente, a la dificultad en la realización de comparaciones derivada de la existencia de dos representaciones para el cero. Ofrece también una complejidad adicional en las operaciones aritméticas como la suma. Este método presenta iguales ventajas y desventajas que el anterior.

Suma en complemento a 1 En complemento a 1 dos números se suman igual que en binario, teniendo en

cuenta que si aparece acarreo en la suma parcial de los bits de más a la izquierda, este acarreo se suma al resultado.

Complemento a C-2

Este método es similar al anterior, la representación de los números positivos es igual a la anterior, pero los negativos se obtiene en dos pasos:

Se complementa a 1 Al resultado se le suma 1, despreciando el último acarreo si existe.

Por ejemplo: 19 se representa en 8 bits como 0 0010011

Page 16: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

16

-19 1 1 1 0 1 1 0 0 C-1 + 1 -19 1 1 1 0 1 1 0 1 C-2

Como regla práctica se puede seguir el siguiente procedimiento: se copian de derecha a izquierda los bits hasta el primer “1” inclusive, y luego se invierten los ceros por unos y los unos por ceros.

20 0 0 0 1 0 1 0 0

-20

1

1

1

0

1

1

0

0

C-2

Para complemento a 2 el rango de representación para N dígitos es:

- 2n-1 < x < 2n-1 -1

Para 1 Byte (8 bits) es -128 " x " 127 Para 2 Byte (16 bits) es -32768 " x " 32767 Para 4 Byte (32 bits) es -2147483648 " x " 2147483647

Presenta las siguientes ventajas:

Tiene una única representación para 0. En lugar de hacer A - B, puedo hacer A + B(C-2). (La unidad aritmético lógica del

microprocesador solo suma, no resta.) Exceso a 2 n-1

En este método no hay bit de signo, todos los bits se utilizan para representar el valor del número más el exceso, que para n bits viene dado por 2n-1, que para una representación de 8 bits es 128.

Para obtener un número en un exceso dado, se realiza la suma algebraica del exceso más el número. Solo se pueden representar valores en módulo menores o iguales al exceso.

Por ejemplo: 19 en SM para 8 bits: 0 0010011 19 en exceso 128 (2n-1 8 bits): 10010011 (128+19) Por ejemplo (-19) se representa en SM para 8 bits como 1 0010011 (-19) en exceso 128 (2n-1, 8 bits): 01101101 (128+(-19))

Page 17: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

17

En este método el “0” tiene única representación (10000000), el rango de representación es asimétrico.

Para Exceso a 2 n-1, el rango de representación para n dígitos es:

- 2n-1 < x < 2n-1 -1

Para 1 Byte (8 bits) es -128 " x " 127 Para 2 Byte (16 bits) es -32768 " x " 32767 Para 4 Byte (32 bits) es -2147483648 " x " 2147483647

La representación en exceso para un número cualquiera es igual a la representación en complemento a dos pero el valor del primer bit de la izquierda esta invertido.

Desbordamiento (Overflow)

Este hecho se puede producir cuando se suman dos números en un método de representación y el resultado no puede ser representado por dicho método, dándonos un resultado erróneo. Para visualizar esto usaremos la notación de SM.

Ejemplo: 52 (0 0110100) + 97 (0 1100001) = 149 (1 0010101), pero en realidad en SM es el número (-21).

Representación de números con punto fijo

Binario puro (código binario natural o binario puro) Se corresponde con el sistema binario (base 2). Es una correspondencia biunívoca

sistemática entre el sistema de numeración de base 10 y el de base 2. La principal ventaja del código binario sobre los demás es que utiliza el mínimo

número de bits para representar la información, como consecuencia de ello la circuitería basada en este código es sencilla, sin embargo presenta grandes inconvenientes:

Si el número es real, con parte entera y parte fraccionaria utiliza diferentes métodos

y por ello los circuitos convertidores de decimal a binario son complejos. La parte fraccionaria puede tener infinitos bits, lo cual implica pérdida de

información y la necesidad de trabajar con una precisión determinada. Al final del proceso hay que convertir de nuevo la información a decimal.

Decimal codificado en binario (BCD)

Page 18: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

18

Este código se utiliza para representar los dígitos el sistema de numeración decimal en binario, los guarismos son del 0 al 9. Utilizará para ello agrupamientos de 4 bits. Pueden ser:

Ponderados y no ponderados. Auto complementarios y no auto complementarios.

Un código es ponderado: cuando el número decimal equivalente se obtiene

mediante la suma ponderada de los dígitos binarios que forman el código. Un código es auto complementario: cuando se obtiene el complemento a 9 del

número decimal en la codificación binaria, sin más que intercambiar los “0” por los “1” (BCD Aiken, BCD Exceso a tres. El complemento a 9 de un dígito decimal es su diferencia a 9.

Los códigos no auto-complementarios presentan inconvenientes para la resta. Código BCD – Natural (BCD –N) Es un código ponderado de pesos 8,4,2,1, lo que nos indica que el bit más

significativo (el de más a la izquierda) posee un valor de 8, el segundo posee un valor de 4, el tercero tiene un valor de 2 y menos significativo (el de la derecha) tiene un valor de 1.

Cada una de las cifras decimales (0 a 9) se representan mediante un grupo de 4 bits, según la siguiente tabla:

Las restantes combinaciones no son válidas. No es un código auto-complementario.

Ejemplo: 5063.47(10 = 0101 0000 0110 0011 . 0100 0111 (BCD-N

5 0 6 3 . 4 7 0101 0000 0110 0011 . 0100 0111

BCD Natural Decimal 8421

0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

Código BCD-Aiken

El código Aiken, además de ser BCD ponderado es autocomplementario: 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.

BCD Aiken BCD AikenDecimal 2421

Decimal 2421

0 0000 5 1011 1 0001 6 1100 2 0010 7 1101 3 0011 8 1110 4 0100 9 1111

La razón de esta codificación es la de conseguir simetría entre ciertos números.

Page 19: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

19

Ejemplo: 5063.47(10 = 1011 0000 1100 0011.0100 1101 (BCD-Aiken

5 0 6 3 . 4 7

1011 0000 1100 0011 . 0100 1101 Código 5421

Ejemplo: 5063.47(10 = 1000 0000 1001 0110.0111 1010 (BCD-5421

5 0 6 3 . 4 7

1000 0000 1001 0011 . 0100 1010

BCD Natural Decimal 5421

0 0000 1 0001 2 0010 3 0011 4 0100 5 1000 6 1001 7 1010 8 1011 9 1100

Código Exceso 3 (XS3) A pesar de ser un código binario sin peso, el código de exceso 3 guarda una

estrecha relación con el código BCD 8421 por el hecho de que cada grupo de 4 bits solo pueden representar a un único dígito decimal (del 0 al 9), y deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número BCD 8421 más 3.

Es un código auto-complementario.

Ejemplo: 5063.47(10 = 1000 0000 1001 0110.0111 1010 (BCD-XS3

5 0 6 3 . 4 7

1000 0000 1001 0110 . 0111 1010

Decimal XS3 0 0011 1 0100 2 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100

Código Gray

Page 20: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

20

El código Gray pertenece a una clase de códigos llamados códigos de cambio mínimo, en los cuales sólo cambia un bit en el grupo codificado cuando se va de un paso al siguiente. El código Gray es un código no ponderado, es decir que las posiciones de los bits en los grupos codificados no tienen un peso 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.

La siguiente tabla muestra la representación en Código Gray para los números decimales 0 al 15, junto con el código binario directo. Si examinamos los grupos codificados Gray para cada número decimal, puede verse que al ir desde cualquier número decimal al siguiente, sólo un bit del código Gray cambia. Por ejemplo, al ir desde 3 a 4, el código Gray cambia de 0010 a 0110, con solo el segundo bit desde la izquierda experimentando cambio. Yendo de 14 a 15 los bits del código Gray cambian de 1001 a 1000, con una sola variación en el último bit. Esta es la principal característica del código Gray.

El código Gray se usa a menudo donde otros códigos tales como el binario, pudieran producir resultados erróneos o ambiguos durante esas transiciones en las cuales más de un bit del código está cambiando. Usando el código binario, por ejemplo, y yendo de 0111 a 1000 requiere que todos los 4 bits cambien simultáneamente. Dependiendo del dispositivo o circuito que está generando los bits, puede haber una diferencia significativa en los tiempos de transición de los diferentes bits. Si esto es así, las transiciones de 0111 a 1000 pudiera producir uno o más estados intermedios. Por ejemplo, si el bit más significativo cambia más rápido que el resto, ocurrirán las siguientes transiciones:

0111 decimal 1111 código erróneo 1000 decimal 8

La ocurrencia de 1111 es sólo momentánea pero pudiera concebiblemente producir una operación errónea de los elementos que están siendo controlados por los bits. Obviamente, usando el código Gray se elimina este problema, puesto que sólo ocurre el cambio de un bit por transición y no puede ocurrir una carrera.

Decimal Código Gray 0 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15

0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

Conversión de Binario a Gray

Cualquier número binario puede convertirse a su representación en código Gray como sigue:

1. El primer bit del código Gray es el mismo como el primer bit del número binario. 2. El segundo bit del código Gray es igual a la operación O EXCLUSIVA del primer

y segundo bits del número binario; esto es, será 1 si estos bits del código binario son diferentes y 0 si son los mismos.

3. El tercer bit del código Gray es igual a la O EXCLUSIVA del segundo y tercer bits del número binario y así sucesivamente.

Page 21: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

21

Para ilustrar esto, convirtamos el binario 10110 al código Gray:

1 0 1 1 0 código binario ^ ^ ^ ^ ^ 1 1 1 0 1 código Gray

El primer bit del código Gray es el mismo como el primer bit del código binario. El primero y segundo bits del código binario son diferentes, dando un 1 para el segundo bit Gray. El segundo y tercer bits del número binario son diferentes, dando un 1 para el tercer bit Gray. El tercero y cuarto bits del número binario son lo mismo, así que el cuarto bit Gray es 0. Finalmente, el cuarto y quinto bits binarios son diferentes, dando un quinto bit Gray de 1.

Otro ejemplo es como sigue:

1 0 0 1 1 0 0 1 binario ^ ^ ^ ^ ^ ^ ^ ^ 1 1 0 1 0 1 0 1 Gray

Conversión de Gray a Binario

Para convertir de Gray a binario se requiere el procedimiento opuesto dado previamente:

1. El primer bit binario es el mismo que el primer bit Gray. 2. Si el segundo bit Gray es 0, el segundo bit binario es el mismo como el primero;

si el segundo bit Gray es 1, el segundo bit binario es el inverso del primer bit binario.

3. El paso 2 se repite para el bit sucesivo.

Para ilustrar esto, convirtamos 1101 de Gray a binario:

1 1 0 1 Gray ^ ^ ^ ^ 1 0 0 1 binario

El primer bit Gray es 1, así que el primer bit binario se escribe como 1. El segundo bit Gray es un 1, así que el segundo bit binario se hace un 0 (inverso del primer bit binario). El tercer bit Gray es un 0. así que el tercer bit binario se hace un 0 (lo mismo como el segundo bit binario). El cuarto bit Gray es 1, haciendo el cuarto bit un 1 (inverso del tercer bit binario).

Este proceso puede ser visto de otra manera: Cada bit binario (exceptuando el primero) puede obtenerse tomando la O EXCLUSIVA del bit correspondiente del código Gray y el bit binario previo.

Decimal Johnson Decimal Johnson0 00000 5 11111

Page 22: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

22

Código progresivo Johnson Es otro código continuo y

cíclico. Es muy práctico para sistemas electrónicos de conteo.

1 00001 6 11110 2 00011 7 11100 3 00111 8 11000 4 01111 9 10000

Decimal desempaquetado

Un número decimal se representa de forma que cada una de sus cifras ocupa un

octeto o byte. Cada uno de los octetos lleva en su cuarteto de la izquierda cuatro unos (1111)

denominados bits de zona y en el cuarteto de la derecha, la codificación de la cifra en BCD, denominándose bits de dígito.

El cuarteto de la izquierda de la última cifra (cifra de la derecha) representa el signo del número, siendo 1100 para el signo positivo (+) y 1101 para el signo negativo (-).

Ejemplo: el número 1994(10

1111 0001 1111 1001 1111 1001 1100 0100

1 9 9 4

el número (-1994)(10

1111 0001 1111 1001 1111 1001 1101 0100 1 9 9 4

Decimal empaquetado En este sistema de codificación se representa cada cifra decimal de un cuarteto (se

eliminan los bits de zona), salvo el primer octeto de la derecha en el que su cuarteto también de la derecha lleva el signo con las mismas consideraciones que en el caso anterior).

Ejemplo: el número 1994(10

0001 1001 1001 0100 1100

1 9 9 4

el número (-1994)(10

0001 1001 1001 0100 11011 9 9 4

Page 23: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

23

Códigos detectores y correctores de errores

Cuando hay una transmisión entre un emisor y un receptor se pueden producir errores, es decir que un “1” pase a ser un “0” ó viceversa.

Las causas del error suelen ser por el efecto ruido. El ruido se define como toda perturbación de la señal.

Ruido blando o de fondo, es imposible de eliminar. Al propagarse la onda por el aire o material conductor se producen choques de moléculas produciendo ruido. Normalmente este ruido no causa error en la señal digital.

Ruido impulsivo, si se puede generar por error, pero no siempre lo genera, siendo las causas: los motores de explosión cerca de las líneas de comunicaciones, inducción de las líneas de alta tensión al lado de las líneas de comunicaciones, fenómenos atmosféricos.

Estadísticamente la probabilidad de que haya más de un error por carácter es muy

pequeña, por eso se utiliza principalmente códigos detectores de 1 error. Los códigos detectores de error, utilizan códigos de tal manera que siempre que se

produzca un error, se produzca un número no perteneciente al código de transmisión.

Distancia entre dos combinaciones de un código es igual al nº de bits distintos entre las combinaciones.

Distancia mínima de un código es la menor de todas sus distancias. Si en un código existe la distancia 1, esa será su distancia mínima. No pueden existir códigos con distancia 0.

Para poder detectar errores es necesario diseñar códigos cuya distancia mínima

sea superior o igual a 2. Distancia mínima de un código. En un código se define a la distancia mínima, como la menor de las distancias

entre dos combinaciones binarias pertenecientes al mismo. El valor de la distancia mínima de los códigos estudiados hasta ahora, es la unidad, y, por lo tanto, un error en uno solo de los bits de una combinación binaria perteneciente a cualquiera de ellos, puede convertirlo en otra combinación valida para dicho código, haciendo que el error no sea detectable.

De todo lo dicho se deduce que, para que un código pueda detectar errores, su distancia mínima ha de ser superior a la unidad.

Existen diversos tipos de códigos detectores de errores, entre los cuales se encuentran los códigos de control de paridad.

Códigos de control de paridad Los códigos de control de paridad se obtienen añadiendo a las combinaciones de

los códigos de distancia unidad anteriormente estudiados, un bit llamado de paridad. Si el código que se desea obtener es de paridad par, dicho bit será tal que el número de unos en cada combinación del nuevo código sea par. Si, por el contrario, se desea un código

Page 24: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

24

de paridad impar, el bit añadido a cada combinación ha de ser tal que la combinación resultante tenga un número impar de unos. Es decir, el bit de paridad par vale “0” si la cantidad de unos es par, y vale “1”, si la cantidad de unos es impar. Si se quiere obtener un código con bit de paridad impar, se realiza un procedimiento inverso al anterior.

La detección de errores en estos códigos consiste en comprobar al recibir la información, si el número de unos de cada combinación es par (códigos de paridad par) o impar (códigos de paridad impar).

La principal ventaja de estos códigos es que se forman a partir de cualquier otro código o combinación binaria.

Si el error se produce en una transmisión en tiempo no real se puede reenviar la información hasta que se reciba correcta. Si la transmisión es en tiempo real no se pueden utilizar estos códigos y es necesario el uso de los códigos correctores de error.

Decimal Bit de paridad

par

BCD-N

0 0 0000 1 1 0001 2 1 0010 3 0 0011 4 1 0100 5 0 0101 6 0 0110 7 1 0111 8 1 1000 9 0 1001

Códigos Correctores de Errores

Los códigos correctores de errores, no sólo indican la existencia de un error, sino que proporcionan información de cual es la cifra o cifras binarias erróneas y, por consiguiente permiten su corrección invirtiendo simplemente el bit correspondiente.

Estos códigos se utilizan cuando no es posible o se hace muy difícil pedir la retransmisión de una información frente a la detección de un error.

De producirse un error en un código detector de errores, la combinación errónea obtenida posee como mínimo dos adyacentes pertenecientes al código, y no es posible discernir de cual de estos procede.

Por ejemplo, en el código BCD Exceso 3 (XS3) con paridad impar la distancia mínima es dos, si se detecta la combinación errónea “10001” es imposible conocer si el error se ha producido en el primer bit y la combinación correcta es “10000”, en el segundo y es correcto “10011”, tercero y es “10101” o el cuarto y es “11001”.

Por lo tanto, para poder corregir errores, la distancia mínima del código ha de ser superior a dos. Si la distancia mínima de un código es tres, la combinación obtenida por error en un bit, es adyacente a una sola combinación del código y es posible conocer cuál es el bit erróneo. Así, un código de distancia mínima tres, permite detectar errores de 2 bits o corregir errores de 1 bit. En general, la distancia mínima de un código para que permita corregir errores de n bits ha de ser dm = 2n + 1.

Nos limitaremos a estudiar los códigos correctores de errores de un bit, cuya

distancia mínima es tres y entre ellos los de mayor difusión, que son los códigos de HAMMING.

Page 25: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

25

Código corrector de HAMMING Estos códigos están basados en la adición de un código de distancia unidad para n

bits, de p bits, obteniéndose un nuevo código de n + p bits. En este nuevo código se realizan p detecciones de paridad en bits preseleccionados del mismo, obteniéndose un bit de paridad PAR. El conjunto de las ecuaciones de control de paridad forman un número del sistema binario que indica la posición del bit erróneo. En caso que no exista error, el número binario logrado debe ser igual a cero. El número de p bits añadidos ha de ser suficiente para permitir la detección de error en alguna de las n + p posiciones o la ausencia del mismo.

Dado que con p bits se obtienen 2p combinaciones, se ha de cumplir la relación 2p >= n + p + 1.

Como ejemplo realizaremos el código de Hamming obtenido a partir del código BCD Natural. En este código n = 4 y, por lo tanto el número de bits que se han de añadir es 3, dado que 23 = 4 + 3 + 1. Para detectar los siete posibles errores de un bit en cada una de las posiciones y la ausencia de error son necesarias ocho combinaciones binarias que denominaremos correctoras de error. Dichas combinaciones se obtienen mediante 3 bits, c3, c2, c1 , y el número decimal equivalente al binario formado por ellos ha de indicar la posición errónea.

Veremos ahora la forma de generar cada uno de los bits de la combinación correctora de errores.

En la tabla, se presentan todas las combinaciones de los bits c3, c2, c1.

c3 c2 c1 Corregir000 Nada 001 b1 010 b2 011 b3 100 b4 101 b5 110 b6 111 b7

El bit c1 ha de tomar el valor 1 si se produce un error en los bits b1, b3, b5, b7, de la

combinación del código. Si el número de unos existentes en esas cuatro posiciones es siempre par, un error en uno cualquiera de esos cuatro bits lo convierte en impar. Por lo tanto c1 ha de valer 1 si el número de unos en las posiciones b1, b3, b5, b7, es impar y cero en caso contrario. Esto se expresa algebraicamente de la siguiente forma:

c1 = b1 b3 b5 b7 Donde es el símbolo de la función suma excluyente que puede verse en la

siguiente tabla: A B AB0 0 0 0 1 1 1 0 1 1 1 0

De igual forma se deduce que c2 y c3 han de obtenerse por medio de

las expresiones: c2 = b2 b3 b6 b7 c3 = b4 b5 b6 b7

Page 26: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

26

para lo cual ha de cumplirse la condición de que el número de unos ha de ser par en las combinaciones b2, b3, b6, b7 y b4, b5, b6, b7 .

Para lograr estas condiciones se han de generar adecuadamente los tres bits que se añaden a los cuatro de la combinación BCD Natural.

Dado que b1, b2, b4, por ser potencias de 2 (tienen un solo 1 en su combinación binaria) aparecen en una sola expresión cada uno, los elegiremos como bits de control y lo añadimos a la combinación de entrada que será volcada en b3, b5, b6, b7. El bit b1 ha de valer uno si el número de unos de b3, b5 y b7, es impar y cero en caso contrario, por lo tanto.

b1 = b3 b5 b7 De igual forma b2 y b4; se han de obtener respectivamente: b2 = b3 b6 b7 b4 = b5 b6 b7 De todo lo anterior se deduce el código de Hamming siguiente:

Númerodecimal

b7 b6 b5 b4 b3 b2 b1

0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 2 0 0 1 1 0 0 1 3 0 0 1 1 1 1 0 4 0 1 0 1 0 1 0 5 0 1 0 1 1 0 1 6 0 1 1 0 0 1 1 7 0 1 1 0 1 0 0 8 1 0 0 1 0 1 1 9 1 0 0 1 1 0 0

Como ejemplo, comprobaremos la detección de un error en el b6; de la combinación 0011001 correspondiente al número decimal 2, la combinación errónea es 0111001.

Para detectarlo comprobaremos el valor lógico de c3, c2, c1.

c3 = b4 b5 b6 b7 = 1 1 1 0 = 1 c2 = b2 b3 b6 b7 = 0 0 1 0 = 1 c1 = b1 b3 b5 b7 = 1 0 1 0 = 0

En efecto, la combinación c3, c2, c1, es 110(2, equivalente al número decimal 6.

Page 27: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

27

Representación de Números Reales

Representación de Coma Fija números reales Coma flotante Representación en coma flotante: Se llama así a la representación de la forma:

Representación en binario en coma flotante Componentes de la - Signo: 0 para números mayores que 0 /1 para menores que 0 representación en - Mantisa: se representa en coma fija y formato normalizado coma flotante - Exponente: se representa en exceso 2n-1-1

- Base

Números con representación especial

Page 28: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

28

Procedimiento para pasar de decimal a coma flotante Ejemplo: Pasar el nº -6,125(10 a binario IEEE754

1º El bit 31 tomará el valor del signo de la mantisa. (-6,125 ⇒ - ⇒ 1) 2º Pasar a binario la mantisa decimal.

6=110 0,125=0,001 6,125=110,001(2

3º Normalizar. Correr la coma a derecha o izquierda hasta convertir el número binario en un numero de la forma 1,……..

El número de desplazamientos va a dar valor al exponente de forma que:

Desplazamiento a la derecha ⇒ Exponente negativo

Desplazamiento a la izquierda ⇒ Exponente positivo

6,125=110,001(2 ⇒ 1,10001 ⇒ Exponente = 2

2 expresado en exceso 127 ⇒ 129 ⇒ 10000001(2

4º Mantisa representada con bit implícito ⇒ 1,10001 ⇒ 10001 (el bit 1 de la parte entera no se representa) 5º El número final es 1 10000001 10001000000000000000000 (Se agregan a la derecha los “0” necesarios para completar los 23 bits de la mantisa) 6º Pasado a hexadecimal 1 100 0000 1 100 0100 0000 0000 0000 0000 = C0C40000(16 Procedimiento para pasar de coma flotante a decimal 1º Convertir a binario el número hexadecimal

C0C40000(16 = 1100 0000 1100 0100 0000 0000 0000 0000(2 2º Identificar los campos del número binario

1 10000001 10001000000000000000000 Signo de la mantisa Exponente representado en exceso 127 Mantisa normalizada con bit ímplicito

3º Convertir cada uno de los campos a decimal

1 ⇒ Mantisa negativa

10000001(2 ⇒ 129 ⇒ +2

10001000000000000000000 (2 ⇒ 1,10001000000000000000000(2 ⇒ Con

exponente +2 ⇒ Hay que desplazar la coma a la derecha (+2) 2 posiciones ⇒

110,001000000000000000000(2 ⇒ 6,125(10

Page 29: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

29

4º El número final es la combinación de todos los valores de los campos -6,125

Códigos de entrada / salida

Código BCD de intercambio normalizado (Standard Binary Code Decimal Interchange Code) Utiliza 6 bits, por lo que puede asignar 26 = 64 valores (no incluye letras

minúsculas). A veces se añade un bit de paridad impar, para comprobar errores, con lo que se tiene una longitud de 7 bits, pero sólo 64 valores válidos.

El formato que siguen las palabras de éste código es el siguiente:

• Bit de paridad (o de verificación): (Opcional) Sirve para detectar errores en los

caracteres. • Bits de zona: Sirve para distinguir entre un número y otro carácter (00 para los

caracteres numéricos). • Bits de posición: para los valores numéricos, se codifica en código binario natural

(excepto el cero, que se codifica como un 10, esto es, 10102). Ejemplo: Suponer un teclado en el que se pulsan estos caracteres:

754.32 BEATRIZ La secuencia de códigos que se generará

0000111 1000101 1000100 0111011 1000011 0000010 1000000 0110010 1110101 0110001 0010011 0101001 1111001 0011001

Código EBDIC El código EBCDIC (Extended Binary Coded Decimal Interchange Code) utiliza n=8

bits para representar cada carácter de un total de m = 28 = 256 caracteres (se codifican mayúsculas, minúsculas, números e incluso caracteres de control).

Formato:

• Bits de zona:

Si valen 00 : El carácter es de control. Si valen 01 : Se trata de un carácter especial (no letra ni número). Si valen 10 : Es un carácter en minúscula. Si valen 11 : Es un carácter en mayúscula o numérico.

• Bits de posición: Si los bits 2 y 3 valen 00 : Carácter en el rango A-I (o a-i).

Page 30: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

30

Si los bits 2 y 3 valen 01 : Carácter en el rango J-R (o j-r). Si los bits 2 y 3 valen 10 : Carácter en el rango S-Z (o s-z). Si los bits 2 y 3 valen 11 : Carácter numérico.

Código ASCII (American Standard Code for Information Interchange) Es el más ampliamente utilizado. Tiene una longitud de siete bits (n=7), a la que a

veces se añade, en algunos sistemas, otro bit más (bien para comprobar errores mediante paridad, o bien para doblar el número de caracteres representables de 128 a 256, y así añadir un amplio conjunto de caracteres gráficos, por ejemplo, como es el caso del PC).

Otros códigos Existen otros muchos códigos de E/S, si bien comienzan, afortunadamente, a caer

en desuso. Como ejemplo tenemos el código FIELDATA que usaban los computadores Sperry-

Univac de la serie 1100, hoy día Unisys. Código Fieldata

Page 31: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

31

Código EBCDIC

Page 32: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Especialidad Distrito Escolar XIII Región V

Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes paraasignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

32

Código ASCII

Page 33: Sistemas de numeración

ET Nº 17 Cornelio Saavedra Distrito Escolar XIII Región V

Especialidad Electrónica Técnicas Digitales 5º Año

Desarrollo de apuntes para asignaturas específicas del área electrónica Coordinador: Ing. Alejandro Demoli Apunte realizado por Luis Biglieri

33

Bibliografía

Problemas de Circuitos y Sistemas Digitales - Carmen Baena Oliva; Manuel

Jesús Bellido Díaz; Alberto Jesús Molina Cantero; María del Pilar Parra Fernández; Manuel Valencia; Barrero. Ed. McGraw-Hill, 1997.

Introducción a la Informática - Albarracín; Alcalde Lancharro y López –. Editorial: Mc Graw-Hill, 1996.

Arquitectura de Computadoras - Ingeniería en Sistemas de Información Universidad Tecnológica Nacional - Facultad Regional Santa Fe.

Circuitos Y Sistemas Digitales - Departamento de Electrónica y Comunicaciones Universidad Pontifica de Salamanca en Madrid - Apuntes de clase

Ejercicios básicos de sistemas digitales - Javier García Zubía - Universidad de Deusto Bilbao – 2006

Electrónica Digital - Cuesta - Gil Padilla – Remiro - Ed. Mc Graw Hill. 1992 Técnicas Digitales - Telefónica De Argentina – Dirección de RRHH, Gerencia de

Capacitación. Internet http://www.isa.cie.uva.es/proyectos/codec/teoria2.html http://www.unicrom.com/default.asp http://electronred.iespana.es/sist_numera.htm http://www.ifent.org/default.htm http://fismat.umich.mx/~elizalde/curso/node114.html http://atc.ugr.es/docencia/udigital/01.html