5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · •...

13
1 1 ULPGC Electrónica Industrial - 4º ETSII 5.2. Sistemas de codificación en binario 5.2.1. Sistemas numéricos posicionales [ Wakerly 2.1 pág. 26] 5.2.2. Números octales y hexadecimales [ Wakerly 2.2 pág. 27] 5.2.3. Conversión general de sistemas numérico posicionales [ Wakerly 2.3 pág. 29] 5.2.4. Suma y resta de números no decimales [ Wakerly 2.4 pág. 32] 5.2.5. Representación de números negativos (signo-magnitud, complemento a 1, complemento a 2) [ Wakerly 2.5 pág. 34] 5.2.6. Suma y resta en complemento a 2 [ Wakerly 2.6 pág. 39] 5.2.7. Código binarios para números decimales [ Wakerly 2.10 pág. 48] 5.2.8. Código Gray [ Wakerly 2.11 pág. 51] 5.2.9. Códigos detectores y correctores de errores[ Wakerly 2.15 pág. 58] 2 ULPGC Electrónica Industrial - 4º ETSII Objetivos Revisión de sistema numérico decimal Contar en el sistema binario Convertir de decimal a binario y viceversa Conversión entre los sistemas hexadecimal y octal a binario Aplicar las operaciones aritméticas a los números binarios Determinar el complemento a 1 y complemento a 2 de un número binario Expresar números con signo en el formato binario Expresar números decimales en formato BCD (Código Decimal Binario) Interpretar el código ASCII Utilizar códigos para detección y corrección de errores E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso ® «Roberto Sarmiento y Sebastián López»

Transcript of 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · •...

Page 1: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

1

1ULPGC Electrónica Industrial - 4º ETSII

5.2. Sistemas de codificación en binario

5.2.1. Sistemas numéricos posicionales [ Wakerly 2.1 pág. 26]

5.2.2. Números octales y hexadecimales [ Wakerly 2.2 pág. 27]

5.2.3. Conversión general de sistemas numérico posicionales [ Wakerly2.3 pág. 29]

5.2.4. Suma y resta de números no decimales [ Wakerly 2.4 pág. 32]

5.2.5. Representación de números negativos (signo-magnitud, complemento a 1, complemento a 2) [ Wakerly 2.5 pág. 34]

5.2.6. Suma y resta en complemento a 2 [ Wakerly 2.6 pág. 39]

5.2.7. Código binarios para números decimales [ Wakerly 2.10 pág. 48]

5.2.8. Código Gray [ Wakerly 2.11 pág. 51]

5.2.9. Códigos detectores y correctores de errores[ Wakerly 2.15 pág. 58]

2ULPGC Electrónica Industrial - 4º ETSII

Objetivos

• Revisión de sistema numérico decimal• Contar en el sistema binario• Convertir de decimal a binario y viceversa• Conversión entre los sistemas hexadecimal y octal a binario• Aplicar las operaciones aritméticas a los números binarios• Determinar el complemento a 1 y complemento a 2 de un número

binario• Expresar números con signo en el formato binario• Expresar números decimales en formato BCD (Código Decimal

Binario)• Interpretar el código ASCII• Utilizar códigos para detección y corrección de errores

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 2: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

2

3ULPGC Electrónica Industrial - 4º ETSII

5.2.1. Sistemas numéricos posicionales

• El sistema de numeración que utilizamos a diario es un sistema de numeración posicional en el cual un número se representa mediante una cadena de dígitos en la cual posición de cada dígito tiene asociado un peso.

• En general, cualquier número decimal de la forma:

tiene el valor:

npp ddddddd ....... 210121 −−−−

nn

pp

ipp dddddddD −−

−−

−−

−−

− ++++++= 10...1010.1010...1010 22

11

00

11

221

Dígito Menos Significativo (LSD)Coma fraccionaria

Dígito Más Significativo (MSD)

radix

4ULPGC Electrónica Industrial - 4º ETSII

5.2.1. Sistemas numéricos posicionales

• El sistema de numeración que utilizamos a diario es un sistema de numeración posicional en el cual un número se representa mediante una cadena de dígitos en la cual posición de cada dígito tiene asociado un peso.

• En general, cualquier número decimal de la forma:

tiene el valor:

npp ddddddd ....... 210121 −−−−

Dígito Menos Significativo (LSD)Coma fraccionaria

Dígito Más Significativo (MSD)

∑−

−=

⋅=1p

ni

ii rdD

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 3: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

3

5ULPGC Electrónica Industrial - 4º ETSII

5.2.1. Sistemas numéricos posicionales

• Los sistemas digitales usan dígitos binarios, y por lo tanto se usa una base binaria para representar cualquier número en un sistema digital.

• La forma general de un número binario es:

npp bbbbbbb ....... 210121 −−−−

Y su valor equivalente

∑−

−=

⋅=1

2p

ni

iibB

6ULPGC Electrónica Industrial - 4º ETSII

5.2.2. Números octales y hexadecimales

• La base (o radix) 8 y especialmente la 16 se usan a menudo para hacer las representaciones de números binarios más cortas, reduciendo la necesidad de cadenas largas indescifrables.

dígitos del 0 al 7

dígitos del 0 al 9

dígitos del 0 al 9 + ABCDEF

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 4: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

4

7ULPGC Electrónica Industrial - 4º ETSII

5.2.2. Números octales y hexadecimales

• Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda, separar los bits en grupos de 3 y reemplazar por el correspondiente dígito octal.

• Conversión de binario a hexadecimal: comenzando en la coma binaria, y hacia la izquierda, separar los bits en grupos de 4 y reemplazar por el correspondiente dígito hexadecimal.

• Conversión de la parte fraccionaria: comenzando en la coma binaria, separar los bits en grupos de 3 o 4 hacia la izquierda y derecha y reemplazar.

• Conversión a números binarios: Reemplazar cada octal o dígito hexadecimal con la correspondiente cadena binaria de 3 o 4 bits.

8ULPGC Electrónica Industrial - 4º ETSII

5.2.3. Conversión general de sistemas numéricos

• Como regla general, no se puede pasar de la representación de un número en una base a otra sencillamente sustituyendo los números de una base por los equivalentes de la otra; esto es correcto sólo cuando ambas bases son potencias enteras del mismo número.

• El valor de un número en cualquier base viene dado por:

donde r es la base del número, p indica el número de dígitos a la izquierda de la coma, y n indica el número de dígitos a la derecha.

∑−

−=

⋅=1p

ni

ii rdD

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 5: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

5

9ULPGC Electrónica Industrial - 4º ETSII

• El valor decimal de un número en cualquier base se determina convirtiendo cada dígito del número en su equivalente en base 10, y luego se aplica la fórmula usando aritmética en base 10.

• Método alternativo:

5.2.3. Conversión general de sistemas numéricos

10ULPGC Electrónica Industrial - 4º ETSII

• Para convertir de decimal a base r, se sigue el método de la división sucesiva.

• La división sucesiva por r de un número decimal generaráel número en base r equivalente formado por los restos de las divisiones.

• El primer resto que se genera es el dígito menos significativo (LSD).

5.2.3. Conversión general de sistemas numéricos

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 6: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

6

11ULPGC Electrónica Industrial - 4º ETSII

5.2.4. Suma y resta de números no decimales

1. Para sumar dos números binarios,

x = xm-1...x0 + y = ym-1...y0,

2. se suman los bits menos significativos,

x0 + y0+ 0 (acarreo inicial, c0=0) = s0 + c1

que produce un bit de acarreo de salida, c1, y el bit de suma, s0

3. Se sigue este proceso para cada par de bits, de derecha a izquierda, y se incluye el acarreo de salida de cada columna en la suma de la columna siguiente

12ULPGC Electrónica Industrial - 4º ETSII

5.2.4. Suma y resta de números no decimales

0 1 10 0 1

1 0 0

011

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 7: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

7

13ULPGC Electrónica Industrial - 4º ETSII

5.2.4. Suma y resta de números no decimales

• La resta binaria se realiza de forma similar, restando un par de bits a la vez, obteniendo en cada paso un bitde adeudo (borrow) y un bit de resta.

14ULPGC Electrónica Industrial - 4º ETSII

5.2.5. Representación de números negativos

• El número está formado por dos partes, la magnitud y el signo, que puede ser + ó -. En los números binarios, el signo se representa mediante un único bit adicional (0 si es positivo y 1 si es negativo) cuya posición es la del MSB

• Teniendo en cuenta que hay dos posibles representaciones del cero, cualquier entero en signo y magnitud con n bits está dentro del rango que va de –(2n-1-1) a +(2n-1-1).

011110112 = +12310111110112 = -12310

bit de signo

Representación en signo y magnitud

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 8: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

8

15ULPGC Electrónica Industrial - 4º ETSII

5.2.5. Representación de números negativos

• La aritmética en signo y magnitud requiere que se comparen tanto los signos como las magnitudes de los operandos.

• Si el signo de ambos números es el mismo, se suman las magnitudes y se añade el mismo signo.

• Si los signos son diferentes, hay que comparar las magnitudes:• Si son iguales, el resultado es 0• Si son distintas, restamos a la magnitud mayor la más• pequeña y el resultado hereda el signo de la mayor

Representación en signo y magnitud

16ULPGC Electrónica Industrial - 4º ETSII

5.2.5. Representación de números negativos

• Cualquier entero se puede representar por:

donde n es el número de dígitos y r la base.• En el sistema en complemento a la base r, se define el

complemento de D con n dígitos como:

• Alternativamente, podemos obtener el complemento a la base de lasiguiente forma:

0

1

0121 ddddrdD

n

inn

ii∑

=−−== Κ

Representación de complemento

1' += DD

DrD n −=

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 9: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

9

17ULPGC Electrónica Industrial - 4º ETSII

5.2.5. Representación de números negativos

• Ventajas– Representación de números

negativos

– La realización de sumas y restas es más rápida ya que se elimina la necesidad de comparadores.

0=+ DD

Representación de complemento

18ULPGC Electrónica Industrial - 4º ETSII

5.2.5. Representación de números negativos

• Complemento a uno. Margen con n bits –2n-1 a +2n-1

– El bit más significativo indica el signo y el resto el módulo si el número es positivo. En caso de ser negativo el módulo es el resultante de cambiar los “1” por “0” y viceversa

010101012= 8510

101010102= -8510

• Complemento a dos. Margen con n bits –(2n-1+1) a +2n-1

– Igual al complemento a uno, pero si el número es negativo se suma “1” al resultado. Es la representación más utilizada.

010101012= 8510

101010112= -8510

Representación de complemento

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 10: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

10

19ULPGC Electrónica Industrial - 4º ETSII

5.2.5. Representación de números negativos

• A veces, mientras se realizan operaciones aritméticas es necesario pasar de números de n bits a números de m bits

• Extensión de signo– Si m>n, se repite el bit de signo en las m-n posiciones después del bit

de signo del número original (desde la posición n hasta la m-1)

• Truncamiento de signo– Si n>m, se hace un truncamiento de signo, descartando los m-n bits

que siguen al bit de signo. Sin embargo, este número truncado es válido solamente cuando todos los bits descartados son iguales al bitde signo

Representación de complemento

20ULPGC Electrónica Industrial - 4º ETSII

5.2.6. Suma y resta de complemento a dos

• Suma normal, no diferenciándose los negativos• Resta, como una suma pero complementando a dos el

sustraendo x-y = x+ (-y)• Se ignora cualquier acarreo del bit de signo

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 11: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

11

21ULPGC Electrónica Industrial - 4º ETSII

5.2.6. Suma y resta de complemento a dos

• Suma normal, no diferenciándose los negativos• Resta, como una suma pero complementando a dos el

sustraendo x-y = x+ (-y)• Se ignora cualquier acarreo del bit de signo

22ULPGC Electrónica Industrial - 4º ETSII

5.2.6. Suma y resta en complemento a 2

• Se produce desbordamiento si los signos de los sumandos son iguales y el del resultado es diferente

• o que los acarreos de entrada y salida del bit más significativo son diferentes)

Desbordamiento

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 12: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

12

23ULPGC Electrónica Industrial - 4º ETSII

5.2.7. Código binarios para números decimales

• Los más utilizados son:– BCD y – 1-de-10 (para

excitación de dispositivos externos como relés o LED)

24ULPGC Electrónica Industrial - 4º ETSII

5.2.8. Código Gray

• El código Gray es un código reflejado: 1. Las primeras 2n palabras de un código Gray de (n+1) bit son

idénticas a las de un código de n bits, añadiendo un cero. 2. Las últimas 2n palabras de un código Gray de (n+1) bit son iguales

a las de un código de n bits, pero escritas en orden inverso y añadiendo un 1

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»

Page 13: 5.2. Sistemas de codificación en binarioroberto/asignaturas/EI/transparencias/EI_Tema_5... · • Conversión de binario a octal: comenzando en la coma binaria, y hacia la izquierda,

13

25ULPGC Electrónica Industrial - 4º ETSII

5.2.9. Códigos detectores y correctores de errores

• Pueden ser de paridad par o paridad impar• Se añade un bit, que puede ser un “1” o un “0”, según sea

necesario para conseguir que el número total de “1” sea paro impar

• Con este sistema se puede detectar el error en un bit

• La distancia de un código es el número de bits diferentes que hay entre cualesquiera dos palabras del código

• Un código es capaz de detectar errores de un bit (errores simples) cuando su distancia mínima es 2

bit de paridad

Concepto de distancia

26ULPGC Electrónica Industrial - 4º ETSII

5.2.9. Códigos detectores y correctores de errores

• Un código es capaz de corregir errores de un bit(errores simples) cuando su distancia mínima es mayor a 2 (es decir es de tres o más)

Códigos detectores de errores

E.T.S. de Ingenieros Industriales Electrónica Industrial, 4º curso

® «Roberto Sarmiento y Sebastián López»