Código BCD – Binary Coded Decimal
Dígitos decimales codificados en binario
Ejemplo
9 8 3 2 510 = 1001 1000 0011 0010 0101BCD-natural
BCD natural tiene pesos 8421
BCD Aiken tiene pesos 2421
9 8 3 2 510 = 1111 1110 0011 0010 1011BCD-Aiken
1. Sistemas numéricos
Sistemas de representación y codificación de números
6/18
Representación de números enteros
Es necesario la representación del signo
Se utiliza una cantidad determinada de bits (n)
Signo y magnitud (SM)
El signo se representa en el bit más a la izquierda del dato. Bit (n-1)
En el resto de los bits se representa el valor del número en binario natural. Bits (n-2)..0
Doble representación del 0.
n = 6
1010 = 001010SM -410 = 100100SM
n = 4
-710 = 1111SM -1410 = no representable
010 = 000000SM 010 = 100000SM
1. Sistemas numéricos
Sistemas de representación y codificación de números
7/18
Complemento a la base menos uno
Los valores positivos se representan en SM.
Los valores negativos se obtienen restando la magnitud del número a la base menos uno.
Convierte las restas en sumas.
Doble representación del 0.
Ejemplos Base 10
-6310 = 936C9 ? 936 = 999 – 63
-1610 = 983C9 ? 983 = 999 – 16
-1610 = 9983C9 ? 9983 = 9999 – 16
n = 3
n = 4
Operación: 77 – 63
(Gp:) 14
(Gp:) 77
(Gp:) -63
+
936C9
077C9
014C9
(1)013
+
1
1. Sistemas numéricos
Sistemas de representación y codificación de números
8/18
Base 2
C1 de -100102 = 101101C1
C1 de -1001112 = no representable
C1 de 0 = {000000C1 , 111111C1}
n = 6
Operación: 10001112 – 100102
Se intercambian ceros por unos y unos por ceros
Rango : [-2n-1 + 1, 2n-1 – 1]
Ejemplos:
(Gp:) 111111
(Gp:) – 010010
(Gp:) 101101
Restando en binario natural
Sumando en C1 (n=8)c
(Gp:) 10001112
(Gp:) – 00100102
(Gp:) 01101012
(Gp:) 01000111C1
(Gp:) (1)00110100
(Gp:) 11101101C1
(Gp:) +
(Gp:) 1
(Gp:) +
(Gp:) 00110101C1
1. Sistemas numéricos
Sistemas de representación y codificación de números
9/18
Complemento a la base
Los valores positivos se representan en SM.
Los valores negativos se obtienen restando la magnitud del número a la base menos uno y posteriormente sumar uno a la dicha cantidad
Convierte las restas en sumas.
Ejemplos Base 10
-6310 = 937C10 ? 937 = (999 – 63) + 1
-1610 = 984C10 ? 984 = (999 – 16) + 1
-1610 = 9984C10 ? 9984 = (9999 – 16) + 1
n = 3
n = 4
Operación: 77 – 63
El acarreo, si existe, no se considera
(Gp:) +
(Gp:) 937
(Gp:) 077
(Gp:) (1)014
1. Sistemas numéricos
Sistemas de representación y codificación de números
10/18
Base 2
C2 de -100102 = 101110C2
n = 6
Operación: 110012 – 100102 = 1112
Se intercambian los ceros y los unos y se suma uno
Rango : [-2n-1, 2n-1 – 1]
Ejemplos:
C2 de -11100102 = no representable
El acarreo no se considera
(Gp:) 111111
(Gp:) – 010010
(Gp:) 101101C1
(Gp:) + 1
(Gp:) 101101
(Gp:) 101110C2
(Gp:) 011001C2
(Gp:) 101110C2
(Gp:) (1)000111C2
(Gp:) +
Operando en C2
(n=6)
1. Sistemas numéricos
Sistemas de representación y codificación de números
11/18
Representación sesgada
La representación se obtiene sumando un sesgo o cantidad al valor del número
El sesgo suele ser: 2n-1
Rango : [-2n-1, 2n-1 – 1]
Ejemplos Base 2
n = 8 ? Sesgo = 28-1 = 12810 = 1000 00002
110102 = 10011010S
– 110102 = 01100110S
02 = 1000 0000S
n = 4 ? Sesgo = 24-1 = 810 = 10002
12 = 1001S
-12 = 0111
1. Sistemas numéricos
Sistemas de representación y codificación de números
12/18
Estándar IEEE 754
B = 2
Representación s e m
n = ns + ne + nm
Ejemplos:
Representación de los números reales
Representación en coma fija
Representación en coma flotante
N = (-1)s M · BE
N ? Valor numérico M ? Mantisa s ? signo
B ? Base E ? Exponente
1.234535 · 103 = 1234.535 · 100 = 0.1234535 · 104 = 123453.5 · 10-2 = 0.0001234535 · 107
ns : cantidad de bits para el signo
ne : cantidad de bits para el exponente
nm: cantidad de bits para la mantisa
1. Sistemas numéricos
Sistemas de representación y codificación de números
13/18
Estándar IEEE 754
Campo de signo
0 ? +
1 ? –
Representación sesgada
Sesgo S = 2ne-1-1
Ejemplos:
ne = 8 ? S = 2ne-1-1 = 127 = 0111 1111
Campo del exponente
1. Sistemas numéricos
Sistemas de representación y codificación de números
14/18
Estándar IEEE 754
Campo de mantisa
Normalización 1 ? M < 2
M = [1.m] donde m es el valor que se almacena
Ejemplos de normalización
N1 = 1001.1100110 · 2-5 1.0011100110 · 2-2
N2 = 0.000001101101 · 234 1.101101 · 228
Ejercicio
n = 16 bits
ne = 8 bits
N = 1001 1111 0001 1101
s = 1 ? N< 0
e = 0011 1110 ? E = -65
m = 001 1101 ? M = 1.00111012
N = -1.2265625 · 2-65 = -3,32440346980633 · 10-20
1. Sistemas numéricos
Sistemas de representación y codificación de números
15/18
Situaciones especiales
e = 0 ? mantisa denormalizada
Sesgo = 2ne-1-2
E = e – S = -2ne-1 + 2
(e = 0) ? (m = 0) ? N = 0
(e = 11…1) ? (m = 0) ? N = ?
(e = 11…1) ? (m ? 0) ? N = NaN
Redondeo
Exceso, defecto, más cercano, al par
1. Sistemas numéricos
Sistemas de representación y codificación de números
16/18
Ejemplo redondeo al par
Valores límite
Números normalizados
|b| = Mmax2Emax
Mmax = 2 – 2-nm
Emax = 2ne-1-1
|a| = Mmin2Emin
Mmin = 1
Emin = -(2ne-1-2)
Números denormalizados
|a| = Mmin2Emin
Mmin = 2-nm
Emin = -(2ne-1-2)
1. Sistemas numéricos
Sistemas de representación y codificación de números
17/18
Valores límite
Si |N| > |b| ? desbordamiento a infinito OVERFLOW
Si |N| < |a| ? desbordamiento a cero UNDERFLOW
Precisión
Simple precisión
n = 32 bits, ne = 8 bits, nm = 23 bits
Doble precisión
n = 64 bits, ne = 11 bits, nm = 52 bits
Doble precisión extendida
n = 80 bits, ne = 15 bits, nm = 64 bits
Consideraciones
Números excesivamente pequeños
Números excesivamente grandes
Comparación de números
1. Sistemas numéricos
Sistemas de representación y codificación de números
18/18
Representación binaria de datos e instrucciones
2. Codificación binaria
Magnitudes
Analógicas: toma valores continuos
Digitales: toma un conjunto de valores discreto
Ventajas sistemas digitales frente sistemas analógicos
Más sencillos y económicos
Más seguridad y precisión
Fácil almacenamiento de la información
Más resistentes al ruido e interferencias
Posibilidad de tratar información no numérica
Inconvenientes sistemas digitales frente sistemas analógicos
La mayoría de las magnitudes físicas son de tipo analógico
Necesidad de etapas CAD/CDA
Representación binaria de datos e instrucciones
2. Codificación binaria
2/2
Sistema digital binario
Representación de las magnitudes en base 2
Estados de un interruptor [ENCENDIDO, APAGADO]
Los dígitos {0, 1} corresponden con niveles de tensión eléctrica.
Nivel alto
Nivel bajo
Niveles lógicos de la familia tecnológica TTL
0 V
0,8 V
2,4 V
5 V
Características de los espacios de representación
2. Codificación binaria
Elementos que lo componen
Condicionantes
Cantidad de estados representables
Cantidad de elementos representables
Tamaños predefinidos en las unidades del computador
Tamaños predefinidos en la comunicación entre unidades del computador
BIT Byte = 8 bits Palabra
1 KiloByte (KB) = 210 Bytes = 1024 Bytes
1 MegaByte (MB) = 220 Bytes = 1024 KB
1 GigaByte (GB) = 230 Bytes = 1024 MB
1 TeraByte (TB) = 240 Bytes = 1024 GB
1 PetaByte (PB) = 250 Bytes = 1024 TB
Unidades de codificación
Aspectos de los sistemas de codificación
2. Codificación binaria
Coste de traducción
Coste de almacenamiento
Coste de procesamiento
Robustez y tolerancia a fallos
Características de los códigos
3. Sistemas alfanuméricos
Compuesta por caracteres
Cantidad de bits dedicados a representar cada carácter
Codificación de cada carácter
Separación de cadenas
Cadenas de longitud fija
Cadenas de longitud variable
Principales sistemas de codificación
3. Sistemas alfanuméricos
Código ASCII
Principales sistemas de codificación
3. Sistemas alfanuméricos
Código ASCII
2/5
Principales sistemas de codificación
3. Sistemas alfanuméricos
Código EBCDIC
3/5
Principales sistemas de codificación
3. Sistemas alfanuméricos
Código EBCDIC
4/5
Consideración de los distintos alfabetos: griego, latín árabe, …
Estándar Unicode: emplea 2 bytes por carácter. Abarca los alfabetos de los idiomas escritos de América, Europa, Oriente Medio, África, India, Asia y el Pacífico
Página de códigos especial
Ejemplos:
862 hebreo
1251 cirílio
Principales sistemas de codificación
3. Sistemas alfanuméricos
5/5
Características de los códigos
4. Códigos redundantes
Objetivo: salvaguardar la información ante posibles errores
Se añade una información adicional a cada dato
Tipos:
Códigos detectores
Códigos correctores
4. Códigos redundantes
Códigos detectores
Código de paridad
Añade a cada dato un bit de paridad
Permite detectar un error en un bit
Paridad par, paridad impar
H 01001000 0
O 01001111 1
L 01001100 1
A 01000001 0
Bit de paridad
4. Códigos redundantes
Códigos correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
4. Códigos redundantes
Códigos correctores
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores diferentes.
Ej. Distancia Hamming 2
c1=0101 y c2 = 1100
Distancia de un código es la mínima distancia Hamming entre todas las posibles combinaciones distintas del código.
Teorema: Si la distancia de un código es d, entonces podemos detectar errores que afecten a d-1 bit.
Teorema: Si la distancia de un código es d, entonces es posible detectar y corregir los errores que afecten a t bits según la siguiente expresión:
d = 2·t+1
1/4
Números naturales 0..15 codificados en binario con 4 bit.
4. Códigos redundantes
Códigos correctores
Ejemplos:
Distancia del código: 1
No es posible detectar ni corregir ningún error en los bit.
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2/4
4. Códigos redundantes
Códigos correctores
Ejemplos:
Números naturales 0..15 codificados en binario con 4 bit con bit de paridad par.
Distancia del código: 2
Es posible detectar errores en un bit.
No es posible corregir ningún error.
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3/4
0 0 0 0 0 0 0
0 0 0 0 1 1 1
0 0 1 1 0 0 1
0 0 1 1 1 1 0
0 1 0 1 0 1 0
0 1 0 1 1 0 1
0 1 1 0 0 1 1
0 1 1 0 1 0 0
1 0 0 1 0 1 1
1 0 0 1 1 0 0
1 0 1 0 0 1 0
1 0 1 0 1 0 1
1 1 0 0 0 0 1
1 1 0 0 1 1 0
1 1 1 1 0 0 0
1 1 1 1 1 1 1
4. Códigos redundantes
Códigos correctores
Código Hamming de los 15 primeros números naturales
Ejemplos:
p1
p2
p3
p4
p5
p6
p7
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
p1: paridad par de p3, p5 y p7
p2: paridad par de p3, p6 y p7
p4: paridad par de p5, p6 y p7
Distancia del código: 3
Es posible detectar errores en dos bit.
Es posible corregir errores en un bit.
4/4
Página anterior | Volver al principio del trabajo | Página siguiente |