Download 5.2. Sistemas de codificación en binario Objetivos

Document related concepts

Representación de números con signo wikipedia , lookup

Código binario wikipedia , lookup

Sistema binario wikipedia , lookup

Decimal codificado en binario wikipedia , lookup

Coma flotante wikipedia , lookup

Transcript
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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]
ULPGC
Electrónica Industrial - 4º ETSII
1
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
ULPGC
Electrónica Industrial - 4º ETSII
2
® «Roberto Sarmiento y Sebastián López»
1
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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:
d p −1d p − 2 ...d1d 0 .d −1d − 2 ...d n
Dígito Menos Significativo (LSD)
Coma fraccionaria
Dígito Más Significativo (MSD)
tiene el valor:
D = d p −110 p −i + d p − 210 p − 2 + ... + d1101 + d 010 0.d −110 −1 + d − 210 −2 + ...d n10 − n
radix
Electrónica Industrial - 4º ETSII
ULPGC
3
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:
d p −1d p − 2 ...d1d 0 .d −1d − 2 ...d n
Dígito Menos Significativo (LSD)
Coma fraccionaria
Dígito Más Significativo (MSD)
tiene el valor:
D=
p −1
∑d ⋅r
i =− n
ULPGC
i
i
Electrónica Industrial - 4º ETSII
4
® «Roberto Sarmiento y Sebastián López»
2
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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:
b p −1b p − 2 ...b1b0 .b−1b− 2 ...bn
Y su valor equivalente
B=
p −1
i
b
⋅
2
∑i
i=− n
ULPGC
Electrónica Industrial - 4º ETSII
5
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
ULPGC
Electrónica Industrial - 4º ETSII
6
® «Roberto Sarmiento y Sebastián López»
3
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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.
ULPGC
Electrónica Industrial - 4º ETSII
7
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:
D=
p −1
∑d ⋅r
i=− n
i
i
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.
ULPGC
Electrónica Industrial - 4º ETSII
8
® «Roberto Sarmiento y Sebastián López»
4
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
5.2.3. Conversión general de sistemas numéricos
• 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:
ULPGC
Electrónica Industrial - 4º ETSII
9
5.2.3. Conversión general de sistemas numéricos
• 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).
ULPGC
Electrónica Industrial - 4º ETSII
10
® «Roberto Sarmiento y Sebastián López»
5
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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
Electrónica Industrial - 4º ETSII
ULPGC
11
5.2.4. Suma y resta de números no decimales
1
0
0
1
1
0
0
1
1
1
0
0
ULPGC
Electrónica Industrial - 4º ETSII
12
® «Roberto Sarmiento y Sebastián López»
6
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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 bit
de adeudo (borrow) y un bit de resta.
ULPGC
Electrónica Industrial - 4º ETSII
13
5.2.5. Representación de números negativos
Representación en signo y magnitud
• 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
011110112 = +12310
111110112 = -12310
bit de signo
• 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).
ULPGC
Electrónica Industrial - 4º ETSII
14
® «Roberto Sarmiento y Sebastián López»
7
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
5.2.5. Representación de números negativos
Representación en signo y magnitud
• 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
Electrónica Industrial - 4º ETSII
ULPGC
15
5.2.5. Representación de números negativos
Representación de complemento
• Cualquier entero se puede representar por:
n −1
D = ∑ d i r i = d n −1d n − 2 Κ d1d 0
i =0
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:
D = rn − D
• Alternativamente, podemos obtener el complemento a la base de la
siguiente forma:
D = D' + 1
ULPGC
Electrónica Industrial - 4º ETSII
16
® «Roberto Sarmiento y Sebastián López»
8
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
5.2.5. Representación de números negativos
Representación de complemento
• Ventajas
– Representación de números
negativos
D+D =0
– La realización de sumas y
restas es más rápida ya que se
elimina la necesidad de
comparadores.
ULPGC
Electrónica Industrial - 4º ETSII
17
5.2.5. Representación de números negativos
Representación de complemento
• 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
ULPGC
Electrónica Industrial - 4º ETSII
18
® «Roberto Sarmiento y Sebastián López»
9
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
5.2.5. Representación de números negativos
Representación de complemento
• 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 bit
de signo
ULPGC
Electrónica Industrial - 4º ETSII
19
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
ULPGC
Electrónica Industrial - 4º ETSII
20
® «Roberto Sarmiento y Sebastián López»
10
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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
ULPGC
Electrónica Industrial - 4º ETSII
21
5.2.6. Suma y resta en complemento a 2
Desbordamiento
• 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)
ULPGC
Electrónica Industrial - 4º ETSII
22
® «Roberto Sarmiento y Sebastián López»
11
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
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)
ULPGC
Electrónica Industrial - 4º ETSII
23
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
ULPGC
Electrónica Industrial - 4º ETSII
24
® «Roberto Sarmiento y Sebastián López»
12
E.T.S. de Ingenieros Industriales
Electrónica Industrial, 4º curso
5.2.9. Códigos detectores y correctores de errores
bit de paridad
• 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 par
o impar
• Con este sistema se puede detectar el error en un bit
Concepto de distancia
• 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
ULPGC
Electrónica Industrial - 4º ETSII
25
5.2.9. Códigos detectores y correctores de errores
Códigos detectores 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)
ULPGC
Electrónica Industrial - 4º ETSII
26
® «Roberto Sarmiento y Sebastián López»
13