Tema 2 Representacin de la informacin v 3

  • Slides: 42
Download presentation
Tema 2: Representación de la información v 3. 0 Contenido 1. Sistemas numéricos •

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

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 . . . n 4 n 3 n 2 n 1 n 0 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

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 . . . + n 3·b 3 + n 2·b 2 + n 1·b 1 +n 0· b 0 +n-1·b-1. . . 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

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

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 al 7 0 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

1. Sistemas numéricos 5/24 Aritmética binaria Operaciones básicas A B A+B A B A*B 0 0 0 0 1 1 0 1 0 1 1 0 (1) 1 1 1 A B A–B A B A/B 0 0 0 -- 0 1 1 (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 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

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 =

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 1001011111.

1. Sistemas numéricos 9/24 Sistemas de representación y codificación de números 3/18 Ejemplos 1001011111. 10111012 = 25 DF. BAH Conversión Decimal - Hexadecimal 4373. 7910 1115. CA 3 D 16 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

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 001 010 111 100 0001 0010 0111 0100 1101 1110 1011 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

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 queremos obtener con el de su izquierda 101 10 Binario ¯ 1 1 + 0 1 10 ¯ 1 1 1 0 + 1 10 ¯ 1 1 0 1+1 0 ¯ 1 1 1 0 1 1+0 ¯ Gray 1 1 1 0 1 Conversión Gray - Binario 1 1 + 1 0 + 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

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 BCD natural tiene pesos 8421 BCD Aiken tiene pesos 2421 Ejemplo 9 8 3 2 510 = 1001 1000 0011 0010 0101 BCD-natural 9 8 3 2 510 = 1111 1110 0011 0010 1011 BCD-Aiken

1. Sistemas numéricos 13/24 Sistemas de representación y codificación de números 7/18 Representación de

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 = 001010 SM -410 = 100100 SM 010 = 000000 SM 010 = 100000 SM n=4 -710 = 1111 SM -1410 = no representable

1. Sistemas numéricos 14/24 Sistemas de representación y codificación de números 8/18 Complemento a

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 = 936 C 9 936 = 999 - 63 -1610 = 983 C 9 983 = 999 - 16 -1610 = 9983 C 9 9983 = 9999 - 16 Operación: 77 - 63 77 -63 14 077 C 9 936 C 9 (1)013 1 + 014 C 9 +

1. Sistemas numéricos 15/24 Sistemas de representación y codificación de números 9/18 Base 2

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 : [-2 n-1 + 1, 2 n-1 - 1] Ejemplos: n = 6 C 1 de -100102 = 101101 C 1 111111 - 010010 101101 C 1 de -1001112 = no representable C 1 de 0 = {000000 C 1 , 111111 C 1} Operación: 10001112 - 100102 Restando en binario natural 10001112 - 00100102 01101012 Sumando en C 1 (n=8)c + 01000111 C 1 11101101 C 1 (1)00110100 + 1 00110101 C 1

1. Sistemas numéricos Sistemas de representación y codificación de números 16/24 10/18 Complemento a

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 = 937 C 10 937 = (999 - 63) + 1 -1610 = 984 C 10 984 = (999 - 16) + 1 n = 4 -1610 = 9984 C 10 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

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 : [-2 n-1, 2 n-1 - 1] Ejemplos: n = 6 C 2 de -100102 = 101110 C 2 111111 - 010010 101101 + 1 101110 C 2 101101 C 1 C 2 de -11100102 = no representable Operación: 110012 - 100102 = 1112 Operando en C 2 (n=6) + 011001 C 2 101110 C 2 (1)000111 C 2 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

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: 2 n-1 Rango : [-2 n-1, 2 n-1 - 1] Ejemplos Base 2 n = 8 Sesgo = 28 -1 = 12810 = 1000 00002 110102 = 10011010 S - 110102 = 0110 S 02 = 1000 0000 S n = 4 Sesgo = 24 -1 = 810 = 10002 12 = 1001 S -12 = 0111

1. Sistemas numéricos 19/24 Sistemas de representación y codificación de números 13/18 Representación de

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 M Mantisa B Base 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

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 = 2 ne-1 -1 • Ejemplos: ne = 8 S = 2 ne-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

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 N 1 = 1001. 1100110 · 2 -5 1. 0011100110 · 2 -2 N 2 = 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

1. Sistemas numéricos Sistemas de representación y codificación de números Situaciones especiales • e = 0 mantisa denormalizada Sesgo = 2 ne-1 -2 E = e - S = -2 ne-1 + 2 • (e = 0) (m = 0) N = 0 • (e = 11. . . 1) (m = 0) N = • (e = 11. . . 1) (m 0) N = Na. N 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

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| = Mmax 2 Emax Mmax = 2 - 2 -nm Emax = 2 ne-1 -1 |a| = Mmin 2 Emin Mmin = 1 Emin = -(2 ne-1 -2) • Números denormalizados |a’| = M’min 2 E’min M’min = 2 -nm E’min = -(2 ne-1 -2)

1. Sistemas numéricos 24/24 Sistemas de representación y codificación de números 18/18 Valores límite

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

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

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. 5 V Nivel alto 2, 4 V 0, 8 V 0 V 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

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 Kilo. Byte (KB) = 210 Bytes = 1024 Bytes 1 Mega. Byte (MB) = 220 Bytes = 1024 KB 1 Giga. Byte (GB) = 230 Bytes = 1024 MB 1 Tera. Byte (TB) = 240 Bytes = 1024 GB 1 Peta. Byte (PB) = 250 Bytes = 1024 TB

2. Codificación binaria 4/10 Aspectos de los sistemas de codificación Coste de traducción Coste

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

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 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 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 8/10 3/5

3. Sistemas alfanuméricos Principales sistemas de codificación Código EBCDIC 9/10 4/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 5/5 Consideración de los distintos alfabetos:

3. Sistemas alfanuméricos 10/10 Principales sistemas de codificación 5/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

4. Códigos redundantes 1/7 Características de los códigos Objetivo: salvaguardar la información ante posibles

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

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

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:

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 c 1=0101 y c 2 = 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

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

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 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 1 0

4. Códigos redundantes 7/7 4/4 Códigos correctores Ejemplos: Código Hamming de los 15 primeros

4. Códigos redundantes 7/7 4/4 Códigos correctores Ejemplos: Código Hamming de los 15 primeros números naturales p 7 p 6 p 5 p 4 p 3 p 2 p 1 0 1 2 3 4 5 6 7 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 8 9 10 11 12 13 14 15 1 1 1 1 0 0 1 1 1 1 0 0 1 1 p 1: paridad par de p 3, p 5 y p 7 p 2: paridad par de p 3, p 6 y p 7 p 4: paridad par de p 5, p 6 y p 7 Distancia del código: 3 Es posible detectar errores en dos bit. Es posible corregir errores en un bit. 0 1 0 1 1 0 0 1