Está en la página 1de 7

TEMA 3

 Suma binaria: Resta binaria:

 Con n bits se pueden representar 2 n combinaciones distintas


 Rango de representación: intervalo comprendido entre el menor y el mayor número representable.
 Resolución de la representación: mayor diferencia que existe entre un número representable y su inmediato
siguiente o sucesor. Este parámetro determina el máximo error que se puede cometer al representar un
número.
 Representación de números en coma fija sin signo: es el binario puro donde cada parte siempre tiene n bits
fijos. Su rango es 2n-1.

Representación de números en coma fija con signo


Se utiliza para representar números positivos y negativos añadiendo un digito a la izquierda del número.
-Dígito con valor 0  Positivo
-Dígito con valor 1 Negativo

Los complementos son transformaciones para representar números negativos y convertir las restas en sumas.

Formato en signo-magnitud: utiliza el digito situado más a la izquierda para el signo y el resto para la magnitud.
Su rango es [±2n-1-1]. Un inconveniente es la necesidad de utilizar circuitos diferentes para la suma y resta.

Complemento a la base: complemento a 2 (binario) y complemento a 10 (decimal): se utiliza para representar
el número en positivo. Nº positivos: se convierten con binario natural.
-De forma general N = basenº de dígitos enteros – nº a convertir. Nº negativos: se hace el complemento a 2.
-Se cambian todos los bits (10 y 01). Binario a decimal: si empieza en 0 es positivo y se
convierte normal, y si empieza en 1 es negativo y se
-Se le suma 1. Si es con decimales, se suma a la derecha de todo. invierte el proceso de complemento a 2.
-Rango: asimétrico [-2n-1, 2n-1 -1].

Complemento a la base menos 1: complemento a 1 (binario) y complemento a 9 (decimal): mismo fin que para
el complemento a 2. Nº positivos: se convierten con binario natural.
nº de dígitos enteros Nº negativos: se hace el complemento a 1.
-De forma general N = base - 1 - nº a convertir. Binario a decimal: si empieza en 0 es positivo y se
-Cambiar todos los bits (10 y 01). convierte normal, y si empieza en 1 es negativo y se
invierte el proceso de complemento a 1.
-Rango: simétrico [-2n-1-1, 2n-1 -1].
-Este sistema es más fácil de implementar que C2 pero el cero tiene dos representaciones: +0 y -0, complicando
los circuitos capaces de detectar el cero.

Representación de los números en exceso a n


Se forma sumando n a cada palabra del código binario natural.
Ej: 5(10  5+3=81000(2exc. 3

Representación de los números reales en binario: coma flotante


Se representa: N = SM(b)E
S: Signo
M: Valor absoluto de la mantisa (M=1,m)
b: Base
E: Exponente
Precisión: depende del número de dígitos de la mantisa.
Rango de precisión: números de dígitos del exponente.
La representación de un número en coma flotante no es única, ya que depende del lugar de la coma.
Para evitar representaciones múltiples se sitúa la coma en un lugar fijo de la mantisa y se normaliza (se sitúa la coma
antes de la primera cifra significativa distinta de cero).

Ej: 110,01·2000 ----->Normalizado----> 0,11001·2011



Estándar IEEE 754:
-Representación de números de 32 bits.
-Un bit de signo S, signo de la mantisa.
-8 bits para el exponente E (incluido su signo), en exceso 127.
-23 bits para la mantisa.
-N = (-1)S·2E-127·(1,m) 32 bits
-N = (-1)S·2E-1023·(1,m) 64 bits

Números con representación especial en IEEE 754
Exponente Mantisa Signo
0/0 255 ≠0
∞ 255 0 0
-∞ 255 0 1
0 0 0 0
Cercano a 0 0 ≠0


Algoritmo para pasar de decimal a coma flotante IEEE 754
1- El bit S tomará el valor del signo de la mantisa.
2- Pasar a binario la mantisa
3- Normalizar la mantisa. Correr la coma a la derecha o a la izquierda hasta convertir el número binario
en un número de la forma 1,…
El número de desplazamientos va a dar el valor del exponente:
-Desplazamiento a la derecha  Exponente negativo
-Desplazamiento a la izquierda  Exponente positivo
-El exponente se expresa en exceso 127. E = nº de desplazamientos + 127 y se pasa a binario.
4- Se obtiene la mantisa a partir del número normalizado (1,m). El 1 no se representa.
5- Se compone el número. Se añadirán ceros a la derecha para completa los 32 bits.

Ej: Pasar -6,12510 a binario IEEE 754


1- S = 1
2- 6 = 110; 0.125 = 0.001; 6.125  110.001
3- 110.001  1.10001  Dos posiciones a la izquierda  E = 2 + 127 = 129  10000001
4- 1.10001  m = 10001
5- 1 10000001 10001000000000000000000


Algoritmo para pasar de coma flotante IEEE 754 a decimal
1- Convertir a binario el número (si está en otro sistema).
2- Identificar los campos S, E y m, según el formato IEEE 754.
3- Convertir cada campo a su equivalente decimal.
4- Se le añade al número el signo.

Ej: Pasar C0C4000016 a decimal


1- C0C40000 = 1100 0000 1100 0100 0000 0000 0000 0000
2- S = 1  signo negativo
E = 10000001  exponente en exceso 127
m = 10001000000000000000000  mantisa normalizada
3- E = 10000001 = 129-127 = 2
m = 10001000000000000000000  (está normalizada 1,m) 
1, 10001000000000000000000 · 2010 = 110,001000000000000000000 = 6.125 10
4- -6.125


Algoritmo para pasar de decimal con fracciones a IEEE 754:
1- Se coge el valor absoluto del número y se escribe: nº = 2exponente.
2- Se despeja el exponente: exponente = log(nº) / log(2) y se aproxima al número entero
inmediatamente inferior.
3- Calculamos x = nº / 2exponente.
4- Se pasa a binario la parte fraccionaria de x y se obtiene la mantisa.
5- Se calcula el exponente: exponente = exponente + 127 y se pasa a binario.
6- Se compone el número.
Ej: Convertir el número -0.01 a IEEE 754:
1- 0.01 = 2exponente
2- Exponente = log(0.01) / log(2) = -6.643856…  -7
3- x = 0.01 / 2-7 = 1.28
4- 0.28  1.0100011110101110000101000
5- Exponente = -7 + 127 = 120  01111000
6- 1 01111000 010001111010111000010100


Algoritmo para pasar de decimal con notación científica a IEEE 754:
1- Se coge el valor absoluto del número y se escribe: nº = 2exponente
2- Se despeja el exponente: exponente = [log(mantisa) + potencia * log(10)] / log(2) y se aproxima al
número entero inmediatamente inferior.
3- Calculamos x = nº / 2exponente.
4- Se pasa a binario la parte fraccionaria de x y se obtiene la mantisa.
5- Se calcula el exponente: exponente = exponente + 127 y se pasa a binario.
6- Se compone el número.

Ej: Convertir el número -2.5675e15 a IEEE 754:


1- 2.5675*1015 = 2exponente.
2- Exponente = [log(2.5675) + 15 * log(10)] / log(2) = 51.189  51
3- x = 2.5675*1015 / 251 = 1.14019904629003576701
4- 0. 14019904629003576701  0.00100011111001000001011
5- Exponente = 51 + 127 = 178  10110010
6- 1 10110010 00100011111001000001011

Códigos

Codigos

De Bloque o Uniforme: a cada símbolo fuente le No bloque o


corresponde una palabra código. No uniforme

No singulares: a cada símbolo fuente le


Singulares
corresponde palabras de código distintas

Univocos: su extensión de orden n es no


No univocos
singular para cualquier valor finitio n

Instantaneos: Permite decodificar sin


ambigüedad laspalabras contenidas en una
No
secuencua de símbolos del alfabeto código,
instantaneos
sin necesitar el conocimiento de los símboloos
que les suceden

Propiedades de los códigos binarios



Ponderados: cada digito tiene un peso de acuerdo al lugar que ocupa.

Distancia (entre dos palabras): es el número de dígitos que hay que invertir en una de ellas para obtener la
otra.

Distancia del código binario: la menor de las distancias entre dos palabras cualesquiera de su código. Son
adyacentes si su distancia es 1.

Continuos: cuando las palabras consecutivas son adyacentes.

Cíclicos: son continuos y la primera y última palabra son adyacentes.

Denso: con n bits se pueden representar 2 n valores.

Autocomplementarios al número N: cuando cada palabra y su complemento a 1 suman N.

Tipos de códigos

Código binario natural: sistema de base 2.

Ponderado Distancia Continuo Cíclico Dens Autocomplementario


o
Si 1 No No Si 2n-1

Códigos BCD

BCD Natural o BCD 8421: cada dígito decimal se representa mediante un código binario de 4 bits, con
asignación de pesos idéntica al binario natural. Su tabla es igual que el BCD natural pero del 0 al 9.

Ponderado Distancia Continuo Cíclico Dens Autocomplementario


o
Si 1 No No No No

BCD Aiken 2421 y BCD Aiken 5421: cada dígito decimal se representa mediante un código binario de 4
bits, con asignación de pesos 2, 4, 2, 1 y 5, 4, 2, 1, respectivamente.
Para obtener una representación única, se asigna un cero al bit de mayor peso en los cinco primeros
símbolos (0-4) y un 1 a los cinco últimos (5-9).
Aiken 2421

Ponderado Distancia Continuo Cíclico Dens Autocomplementario


o
Si 1 No No No A9

Aiken 5421

Ponderado Distancia Continuo Cíclico Dens Autocomplementario


o
Si 1 No No No No


BCD 642-3: Se consideran pesos positivos y negativos (-3):

Ponderado Distancia Continuo Cíclico Dens Autocomplementario


o
Si 1 No No No A9


BCD exceso a 3: se forma sumando 3 a cada palabra del código BCD Natural.

Ponderado Distancia Continuo Cíclico Dens Autocomplementario


o
No 1 No No No A9


Conversión de decimal a BCD exceso 3: se suma 3 al número decimal y se pasa a binario.

Conversión de BCD exceso 3 a decimal: se divide el número a partir de la coma en grupos de 4 y se
expresa cada grupo en su valor decimal restándole 3.

Conversión de decimal a BCD: se expresa cada dígito decimal mediante la combinación binaria
correspondiente del código BCD elegido.

Conversión de BCD a decimal: se divide el número a partir de la coma en grupos de 4 y se expresa cada
grupo en su valor decimal correspondiente del código BCD elegido.


Código de Gray ( código reflejado):
Ponderado Distancia Continuo Cíclico Dens Autocomplementario
o
No 1 Si Si Si No


Conversión de binario a Gray:
-El bit MSB es el mismo.
-El resto se obtiene sumando de izquierda a derecha cada par adyacente mediante la función XOR:
A + B Resultado
0 0 0
0 1 1
1 0 1
1 1 0

Conversión de Gray a binario:
-El bit MSB es el mismo.
-El resto se obtiene sumando de izquierda a derecha a cada bit del código generado, el bit en código Gray
de la siguiente posición adyacente mediante la función XOR.


Código Jhonson (código progresivo): el número de unos aumenta y disminuye progresivamente de una
combinación a la siguiente. Tiene la desventaja que tiene 2·n símbolos distintos.
Ponderado Distancia Continuo Cíclico Dens Autocomplementario
o
No 1 Si Si No No X


Código ASCII: es un código alfanumérico de n=7 bits, 2 n = 27 = 128 símbolos distintos: 26 letras mayúsculas, 26
minúsculas, 10 dígitos decimales, signos de puntuación, caracteres especiales y de control.
Actualmente se utiliza el código ASCII extendido de 8 bits con 256 caracteres.

Códigos detectores de error


-
Necesarios cuando se transmite información digital por un medio.
-
Condición necesaria: que el código NO sea denso.
-
Condición necesaria y suficiente para que un código permita detectar errores en un bit: que la distancia > 1.
-
En general, para poder detectar E errores simultáneos, la distancia mínima del código debe ser E+1.

Códigos de paridad: cantidad de 1 que contiene la palabra. Se añade un bit (0 o 1) a la derecha de tal forma que
la suma de unos sea par para paridad par o sea impar para la paridad impar.
-Paridad Par: el número de unos es par.
-Paridad Impar: el número de unos es impar.

Códigos de peso fijo: Destacan el código 2 entre 5 y el biquinario. Ambos tienen una distancia de 2 (permiten
detectar un error en un bit) y todas sus palabras tienen exactamente dos unos (paridad par).

Códigos correctores de errores (Hamming)


-
Detectan el bit o (bits) erróneos y se invierte su valor.
-
Condición necesaria y suficiente: para que un código permita corregir errores en un bit es que su distancia
mínima sea mayor que 2. Distancia >2.
-
En general, para que un código pueda corregir F bits erróneos simultáneos, la distancia mínima debe ser igual a
2F + 1.

Código Hamming:
-
A cada palabra de n bits se le añaden k bits generados a partir de los n primeros, formando una palabra
de longitud n + k.
-
Se tiene que cumplir la inecuación 2k ≥ n + k + 1.
-
Un código de paridad Hamming es óptimo si se cumple: n = 2k – k – 1.
Para obtener los dígitos de paridad Hamming (C i), consideramos primero que (en el caso de n = 4 y BCD
natural con bits B1, B2, B3, B4).

T1 = 1 si existe error en alguna posición (P 1, P3, P5, P7).

T2 = 1 si existe error en alguna posición (P 2, P3, P6, P7).

T3 = 1 si existe error en alguna posición (P 4, P5, P6, P7).

Se observa que la posición P1, P2 y P4 aparecen sólo una vez en la lsta
de Ti, por tanto se situarán en dichas posiciones los bits de paridad
C1, C2, C3.

Por lo tanto, las palabras del código de Hamming tendrán la forma:
B4B3B2C3B1C2C1.
-
Generación Ci:
Triple -C1: toma el valor tal que los bits B 4, B3, B2, C1 (P7, P5, P3, C1) tengan paridad par.
paridad -C2: toma el valor tal que los bits B 4, B3, B2, C2 (P7, P6, P3, C2) tengan paridad par.
par -C3: toma el valor tal que los bits B 4, B3, B2, C3 (P7, P6, P5, C3) tengan paridad par.

-
Generador Hamming:

-
Generación Ti:
-T1: toma el valor tal que los bits B4, B2, B1, C1, T1 (P7, P5, P3, P1, T1) tengan paridad par.
-T2: toma el valor tal que los bits B4, B3, B1, C2, T2 (P7, P6, P3, P2, T2) tengan paridad par.
-T3: toma el valor tal que los bits B4, B3, B2, C3, T3 (P7, P6, P5, P4, T3) tengan paridad par.

-
Corrector Hamming:

Ej:

También podría gustarte