Tema 2: Representación de la información
v 3.0
Contenido
1. Sistemas numéricos
• Sistemas de numeración y cambio de base
• Aritmética binaria
• Sistemas de codificación y representación de los
números
2. Codificación binaria
• Representación binaria de datos e instrucciones
• Características de los espacios de representación
• Aspectos de los sistemas de representación
3. Sistemas alfanuméricos
• Características de los códigos
• Principales sistemas d codificación
4. Códigos redundantes
• Características de los códigos
• Códigos detectores
• Códigos correctores
1. Sistemas numéricos
1/24
Sistemas de numeración y cambio de base
Un sistema de numeración en base b utiliza
para representar los números un alfabeto
compuesto por b símbolos o cifras
Ejemplos:
b = 10 (decimal) {0,1,2,3,4,5,6,7,8,9}
b = 16 (hexadecimal)
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
b = 2 (binario) {0,1}
El número se expresa mediante una secuencia
de cifras:
N  ... n4 n3 n2 n1 n0 n-1 n-2 n-3 ...
El valor de cada cifra depende de la cifra en sí
y de la posición que ocupa en la secuencia
1. Sistemas numéricos
2/24
Sistemas de numeración y cambio de base
2/4
El valor del número se calcula mediante el
polinomio:
N  ...+ n3·b3 + n2·b2 + n1·b1 +n0· b0 +n-1·b-1
...
N
 n i ·b
i
i
Ejemplos:
3278,5210 = 3 · 103 + 2 · 102 + 7 · 101 +
+ 8 · 100 + 5 · 10-1 + 2 · 10-2
175,3728 = 1· 82 + 7 · 81 + 5 · 80 + 3 · 8-1 +
+ 7 · 8-2 + 2 · 8-3 = 125,488281210
1. Sistemas numéricos
3/24
Sistemas de numeración y cambio de base
3/4
Conversión decimal - base b
Método de divisiones sucesivas entre la base b
Para números fraccionarios se realizan
multiplicaciones sucesivas por la base b.
Consideración de restos mayores que 9 y Error
de truncamiento
Ejemplos:
2610 = 110102
0,187510 = 0,00112
26,187510 = 11010,00112
1. Sistemas numéricos
4/24
Sistemas de numeración y cambio de base
4/4
Rango de representación: Conjunto de valores
representable. Con n cifras en la base b podemos
formar bn combinaciones distintas. [0..bn-1]
Sistema de numeración en base dos o binario
b = 2 (binario)
Decimal
Binario
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
{0,1}
Números
binarios del
0 al 7
Ejemplos:
1101002
= (1· 25) + (1· 24) + (1 · 22) =
= 25 + 24 + 22 = 32 + 16 + 4 = 5210
0,101002
= 2-1 + 2-3 = (1/2) + (1/8) = 0,62510
10100,0012 = 24 + 22 + 2-3 = 16 + 4 +(1/8)
= 20,12510
1. Sistemas numéricos
5/24
Aritmética binaria
Operaciones básicas
A
B
A+B
A
B
A*B
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0 (1)
1
1
1
A
B
A–B
A
B
A/B
0
0
0
0
0
--
0
1
1 (1)
0
1
0
1
0
1
1
0
--
1
1
0
1
1
1
1. Sistemas numéricos
Aritmética binaria
Ejemplos
Sumas y restas
Multiplicaciones
División
6/24
2/2
1. Sistemas numéricos
Sistemas de codificación y
representación de números
Octal
b = 8 (octal) {0,1,2,3,4,5,6,7}
Correspondencia con el binario
8 = 23  Una cifra en octal
corresponde a 3 binarias
Ejemplos
10001101100.110102 = 2154.648
537.248 = 101011111.0101002
Conversión Decimal - Octal
760.3310  1370.25078
7/24
1. Sistemas numéricos
8/24
Sistemas de representación y codificación de números
Hexadecimal
b = 16 (hexadecimal)
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,}
Correspondencia con el binario
16 = 24  Una cifra en hexadecimal
corresponde a 4 binarias
Hexadecimal
Decimal
Binario
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
2/18
1. Sistemas numéricos
9/24
Sistemas de representación y codificación de números
3/18
Ejemplos
10010111011111.10111012 = 25DF.BAH
Conversión Decimal - Hexadecimal
4373.7910  1115.CA3D16
4373
117
53
5
16
273
113
1
16
17
1
16
1
1. Sistemas numéricos
10/24
Sistemas de representación y codificación de números
4/18
Código Gray
Código no ponderado, contínuo y cíclico
Basado en un sistema binario
Dos números sucesivos sólo varían en un bit
2 bits
3 bits
4 bits
Decimal
00
01
11
10
000
001
011
010
110
111
101
100
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. Sistemas numéricos
11/24
Sistemas de representación y codificación de números
5/18
Conversión Binario - Gray
A partir del primer bit sumamos el bit binario
que queremos obtener con el de su izquierda
101 10
Binario

1
1 + 0 1 10

1
1
1
0 + 1 10

1
1
1
1
0
1+1 0

1
1
1 0
1
0 1 1+0

Gray
1
1 1 0 1
Conversión Gray - Binario
1
1
+
1
0
+
0
1
+
0
1
+
1
0
1. Sistemas numéricos
12/24
Sistemas de representación y codificación de números
6/18
Código BCD - Binary Coded Decimal
Dígitos decimales codificados en binario
D ecim al B C D n atu ral B C D exceso 3 B C D A ik en
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
B C D 5421
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
BCD natural tiene pesos 8421
BCD Aiken tiene pesos 2421
Ejemplo
9 8 3 2 510 = 1001 1000 0011 0010 0101BCD-natural
9 8 3 2 510 = 1111 1110 0011 0010 1011BCD-Aiken
1. Sistemas numéricos
13/24
Sistemas de representación y codificación de números
7/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
010 = 000000SM
010 = 100000SM
n=4
-710 = 1111SM
-1410 = no representable
1. Sistemas numéricos
14/24
Sistemas de representación y codificación de números
8/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
n=3
n=4
-6310 = 936C9 
936 = 999 - 63
-1610 = 983C9 
983 = 999 - 16
-1610 = 9983C9 
9983 = 9999 - 16
Operación: 77 - 63
77
-63
14
077C9
936C9
(1)013
1
+
014C9
+
1. Sistemas numéricos
15/24
Sistemas de representación y codificación de números
9/18
Base 2
Se intercambian ceros por unos y unos por ceros
Rango : [-2n-1 + 1, 2n-1 - 1]
Ejemplos:
n = 6 C1 de -100102 = 101101C1
111111
- 010010
101101
C1 de -1001112 = no representable
C1 de 0 = {000000C1 , 111111C1}
Operación: 10001112 - 100102
Restando en binario
natural
10001112
- 00100102
01101012
Sumando en C1 (n=8)c
+
01000111C1
11101101C1
(1)00110100
+
1
00110101C1
1. Sistemas numéricos
Sistemas de representación y codificación de números
16/24
10/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
n = 3 -6310 = 937C10
 937 = (999 - 63) + 1
-1610 = 984C10
 984 = (999 - 16) + 1
n = 4 -1610 = 9984C10  9984 = (9999 - 16) + 1
Operación: 77 - 63
077
+
937
(1)014
El acarreo, si existe, no se considera
1. Sistemas numéricos
17/24
Sistemas de representación y codificación de números
11/18
Base 2
Se intercambian los ceros y los unos y se suma uno
Rango : [-2n-1, 2n-1 - 1]
Ejemplos:
n = 6 C2 de -100102 = 101110C2
111111
- 010010
101101
+
1
101110C2
101101C1
C2 de -11100102 = no representable
Operación: 110012 - 100102 = 1112
Operando en C2
(n=6)
+
011001C2
101110C2
(1)000111C2
El acarreo no se considera
1. Sistemas numéricos
Sistemas de representación y codificación de números
18/24
12/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
19/24
Sistemas de representación y codificación de números
13/18
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
B  Base
M  Mantisa
E  Exponente
s  signo
Ejemplos:
1.234535 · 103 = 1234.535 · 100 = 0.1234535 · 104
= 123453.5 · 10-2 = 0.0001234535 · 107
Estándar IEEE 754
B=2
Representación s e m
n = ns + ne + nm
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
20/24
Sistemas de representación y codificación de números
14/18
Estándar IEEE 754
Campo de signo
0+
1-
Campo del exponente
• Representación sesgada
• Sesgo S = 2ne-1-1
• Ejemplos:
ne = 8  S = 2ne-1-1 = 127 = 0111 1111
1. Sistemas numéricos
21/24
Sistemas de representación y codificación de números
15/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 = 1001 1111 0001 1101
n = 16 bits
ne = 8 bits
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
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
• Ejemplo redondeo al par
22/24
16/18
1. Sistemas numéricos
23/24
Sistemas de representación y codificación de números
17/18
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’| = M’min2E’min
M’min = 2-nm
E’min = -(2ne-1-2)
1. Sistemas numéricos
24/24
Sistemas de representación y codificación de números
18/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
2. Codificación binaria
1/10
Representación binaria de datos e
instrucciones
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
2. Codificación binaria
2/10
Representación binaria de datos e instrucciones
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.
5V
Nivel alto
2,4 V
0,8 V
0V
Nivel bajo
Niveles lógicos de
la familia
tecnológica TTL
2. Codificación binaria
3/10
Características de los espacios de
representación
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
Unidades de codificación
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
2. Codificación binaria
4/10
Aspectos de los sistemas de codificación
Coste de traducción
Coste de almacenamiento
Coste de procesamiento
Robustez y tolerancia a fallos
3. Sistemas alfanuméricos
5/10
Características de los códigos
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
3. Sistemas alfanuméricos
Principales sistemas de codificación
Código ASCII
6/10
3. Sistemas alfanuméricos
Principales sistemas de codificación
Código ASCII
7/10
2/5
3. Sistemas alfanuméricos
Principales sistemas de codificación
Código EBCDIC
8/10
3/5
3. Sistemas alfanuméricos
Principales sistemas de codificación
Código EBCDIC
9/10
4/5
3. Sistemas alfanuméricos
10/10
Principales sistemas de codificación
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
5/5
4. Códigos redundantes
1/7
Características de los códigos
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
2/7
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
3/7
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
4/7
Códigos correctores
1/4
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
4. Códigos redundantes
5/7
2/4
Códigos correctores
Ejemplos:
Números naturales 0..15 codificados en
binario con 4 bit.
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
8
9
10
11
12
13
14
15
1000
1001
1010
1011
1100
1101
1110
1111
Distancia del código: 1
No es posible detectar ni corregir ningún
error en los bit.
4. Códigos redundantes
6/7
3/4
Códigos correctores
Ejemplos:
Números naturales 0..15 codificados en
binario con 4 bit con bit de paridad par.
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
0
1
1
0
1
0
0
1
8
9
10
11
12
13
14
15
1000
1001
1010
1011
1100
1101
1110
1111
Distancia del código: 2
Es posible detectar errores en un bit.
No es posible corregir ningún error.
1
0
0
1
0
1
1
0
4. Códigos redundantes
7/7
4/4
Códigos correctores
Ejemplos:
Código Hamming de los 15 primeros
números naturales
p 7 p6 p 5 p 4 p 3 p 2 p 1
0
1
2
3
4
5
6
7
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
0
1
1
0
8
9
10
11
12
13
14
15
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
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.
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
0
1
Descargar

Presentación de PowerPoint