Arquitectura de Computadores y laboratorio Clase 02: Representación de datos Departamento de Ingeniería de Sistemas Universidad de Antioquia 2015-2
Contenido 1 2 Representación de la Información Y sistemas Numéricos Conversiones entre sistemas Numer. 3 Aritmética Binaria y representación de datos 2
Análogo y digital Las señales análogas tienen valores continuos. Las señales digitales tienen un conjunto de valores discretos 3
Señal binaria: Sólo dos valores posibles (Falso-Verdadero, Alto-Bajo, On-Off, Si-No) Dígito binario: 0, 1 Valores binarios representados como niveles de voltaje Señal periódica Señales Binarias 1 Tecnología TTL 0 v T H T L Flanco de bajada T T: Periodo f: Frecuencia (f = 1/T) t Flanco de subida 4
Representación de datos Ventajas de usar una representación binaria Fácil implementación en hardware electrónico (transistor operando como interruptor controlado eléctricamente) Buena tolerancia al ruido eléctrico 5
Qué es el hardware digital? Dispositivos de hardware digital básicos Dispositivos de computación (detectan y accionan) Todas las entradas en 1 hacen que la salida sea 1 AND Al menos una de las entradas en 1 hace que la salida sea 1 OR Si la entrada es 1 hace que la salida sea 0 y viceversa NOT Dispositivos de memoria (almacenamiento) Guardan un valor 7
Sistemas numéricos posicionales 1234 4321 En los sistemas numéricos posicionales, un número se representa mediante un cadena de dígitos en la cual la posición de cada dígito tiene un peso asociado. El valor de un número dado es equivalente a la suma ponderada de todos sus dígitos 1234 = 1*1000 + 2*100 + 3*10 + 4*1 4321 = 4*1000 + 3*100 + 2*10 + 1*1
Sistemas numéricos posicionales Forma general de un número: Dígito más significativo (MSD) d m-1 d m-2 d 1 d 0.d -1 d -2 d -n Dígito menos significativo (LSD) Valor del número: m dígitos n dígitos Punto fraccionario D m 1 i n d i r i r : base Ejplo: (342. 14) 5 = 2 i= 2 d i 5 i = 3 5 2 + 4 5 1 +2 5 0 +1 5 1 +4 5 2
Sistemas numéricos posicionales Números decimales r = 10 Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Números binarios r = 2 Dígitos: 0, 1 Números octales r = 8 Dígitos: 0, 1, 2, 3, 4, 5, 6, 7 Números hexadecimales r = 16 Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Contenido 1 2 Representación de la Información Y sistemas Numéricos Conversiones entre sistemas Numer. 3 Aritmética Binaria y representación de datos 11
CONVERSIONES BASE r BASE 10 Convertir (16435.62) 7 a base 10 Notación Polinomial n = 4 a i x 7 i m = -2 = 1x7 4 + 6x7 3 + 4x7 2 + 3x7 1 + 5x7 0 + 6x7-1 + 2x7-2 = 2401 + 2058 + 196 + 21 + 5 + 0.8571+ 0.0408 =(4681.8979)10
CONVERSIONES BASE 10 BASE r Divisiones Sucesivas Convertir (234) 10 a base 2 234 2-234 117 0-116 1 2 58-58 0 2 29-28 1 2 14-14 0 (234) 10 = 1 1 1 0 1 0 1 0 ( ) 2 2 7-6 1 2 3-2 1 2 1 Cociente < base TERMINAMOS
Ejercicio: Exprese en 4 bits los números decimales del 0 al 15 DECIMAL BINARIO 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
BINARIOS - HEXADECIMAL Uno de los problemas del sistema binario es la cantidad de dígitos que se requieren para describir los números. Por su parte el sistema decimal menor cantidad de dígitos, lo cual lo convierte en un sistema más compacto. El sistema hexadecimal proporciona una compactación aún mayor, además de presentar un paso directo desde el sistema binario. (255) 10 = (11111111) 2 = (FF) 16
BINARIOS - HEXADECIMAL Arquitectura de Computadores y laboratorio (2015-1) (2015-2) DECIMAL 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 BINARIO 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 HEXADECIMAL 0 1 2 3 4 5 6 7 8 9 A B C D E F
BINARIOS - HEXADECIMAL Convertir (1101111101.111101) 2 a base 16 0011 0111 1101. 1111 0100 3 7 D. F (1101111101.111101) 2 = (37D.F4) 16 4 DEC BIN HEX 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F
BINARIOS - HEXADECIMAL Convertir (7AD.B) 16 a base 2 7 A D. B 0111 1010 1101. 1011 (7AD.B) 16 = (011110101101.1011) 2 DEC BIN HEX 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F
Binarios a Octal Cómo se convierte de binario a Octal?? 19
ORDEN DE CONVERSIONES Base N Decimal Base M BASE m BASE n BASE 10 Binario HexadecimaL BASE 2 BASE 16
Contenido 1 2 3 Representación de la Información Y sistemas Numéricos Conversiones entre sistemas Numer. Aritmética Binaria y representación de datos 21
Suma de números binarios Ejemplo: realice en binario la operación (987) 10 +(123) 10 x i y i c i s i c i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
Ejemplo de resta binaria Resta de números binarios
Representación de la información Toda la información en un computador se guarda en un formato binario. Es común guardar la información en conjuntos de 8 o 16 o 32 o 64 Bits, Ejemplo: El dato en 8 bits 10100101 puede representar: 165 : Número Entero Positivo -37 : Número Signo magnitud -91 : Complemento a Dos Ñ : Código Ascii START : Código personalizado 10.5 : Numero punto Fijo personalizado 20.5 : Numero punto Fijo personalizado
Representación Números enteros positivos Consiste en un simple paso de la información de Binario a Decimal para saber qué dato está guardando. Ejplo: 01011001= = 0x2 7 + 1x2 6 + 0x2 5 + 1x2 4 + 1x2 3 + 0x2 2 + 0x2 1 + 1x2 0 =89 En una representación de n Bits podemos tener un total de combinaciones dado por: 2 n los números que se pueden representar van: Desde el 0 hasta 2 n -1 Ejplo: para 8 bits 256 combinaciones Para representar desde el numero 0 hasta el 255
Representación de números binarios negativos Representación signo-magnitud Un número <s, m> consta de dos partes: Signo: positivo, negativo Bit más significativo (MSB): + 0, - 1 Magnitud: entero entre cero y el mayor valor representable en los bits restantes (2 n-1-1) n bits 0: Positivo (+) 1: Negativo (-) Signo Magnitud Ej: n = 4-4 -5-6 1101 1100-7 1111 1110 +0 0000 0001 +1 0010 0011 +2 +3 + 0 100 = + 4-3 -2 1011 1010 1001-1 1000-0 0111 +7 0110 0100 0101 +6 +5 +4 1 100 = - 4 -
Representación de números binarios negativos epresentación signo-magnitud Aritmética?? Supongamos que deseamos sumar los número D 1 = <s 1, m 1 > y D 2 = <s 2, m 2 > que generan el resultado D r = <s r, m r > Si el signo de ambos números es el mismo, sumamos sus magnitudes y el resultado hereda el signo de los operandos Si los signos de ambos números son diferentes, es necesario comparar las magnitudes:» Si las magnitudes son iguales, el resultado es cero» Si las magnitudes son diferentes, restamos la magnitud menor de la magnitud mayor y el resultado hereda el signo de la magnitud mayor
Representación de números binarios negativos Complemento a uno Si N es un número positivo, N es su negativo en complemento a uno y se calcula así: N = (2 n 1) N, en donde n es el número de bits Ej: Calculemos el complemento a uno de 7, usando una representación de 4 bits 2 4 = 10000-1 = 00001 1111-7 = 0111 1000 = -7 en complemento a uno -3-2 -1 1101 1100-0 1111 1110 +0 0000 0001 +1 0010 0011 +2 +3 + 0 100 = + 4 Método abreviado para obtener el complemento a uno de un número: Calcular su complemento bit a bit -4-5 1011 1010-6 1001 1000-7 0110 0111 +7 0100 0101 +6 +5 +4 1 011 = - 4 -
Representación de números binarios negativos Complemento a dos El signo de un número binario se representa por el bit más significativo (MSB) + 0, - 1 El complemento a dos de un número (su representación como número negativo) se obtiene complementando bit a bit un número positivo (incluyendo el bit de signo) y luego sumándole uno El acarreo que produce el MSB se descarta Ej: -4-3 -2 1101 1100-1 1111 1110 +0 0000 0001 +1 0010 0011 +2 +3 + 0 011 = + 3-5 -6 1011 1010 1001 1000 0111 0110 0100 0101 Sólo hay una representación para el cero Existe un número negativo más que los positivos Facilita la suma y resta de números con signo -7-8 +7 +6 +5 +4 1 101 = - 3 -
Representación de números binarios negativos Complemento a dos Suma Sumar dos números positivos produce un resultado correcto (mientras no sobrepase el rango del sistema numérico) 0010 (+2) + 0100 (+4) 0110 (+6) Sumar dos números negativos produce un resultado correcto (mientras no sobrepase el rango del sistema numérico), ignorando el acarreo producido en el bit de signo 1110 (-2) + 1100 (-4) Acarreo ignorado: 1 1010 (-6)
Representación de números binarios negativos Complemento a dos Suma Sumar dos números de diferente signo siempre produce un resultado correcto 0010 (+2) + 1100 (-4) 1110 (-2) Algunas sumas producen un resultado que sobrepasa el rango del sistema numérico, dándose un condición que se conoce como desbordamiento (overflow) 0100 (+4) 1100 (-4) + 0101 (+5) + 1011 (-5) 1001 (-7) Acarreo ignorado: 1 0111 (+7)
Representación de números binarios negativos Complemento a dos Suma Desbordamiento (overflow) La suma de dos números de diferente signo nunca produce desbordamiento Cuando se suman dos números del mismo signo y el signo del resultado es diferente al de los operandos, se produce desbordamiento
Representación de números binarios negativos Complemento a dos Resta Con esta reglas, la forma de determinar si hay desbordamiento son las que aplican para el caso de la suma Sin embargo, los circuitos que operan sobre números en complemento a dos no realizan la resta de manera directa: Primero calculan el complemento a dos del sustraendo y luego lo suman al minuendo usando las reglas normales de la suma Ej: 2 4
Códigos de caracteres Conjuntos de caracteres codificados como bytes (1 byte = 8 bits) ASCII: 128 caracteres 95 símbolos alfanuméricos, 33 control ISO/IEC 8859: 256 caracteres ASCII + símbolos alfanuméricos de diferentes idiomas Unicode UTF-32: codificación de 32 bits Empleado en Java, C++ Agrupa la mayoría de alfabetos del mundo, más símbolos UTF-8, UTF-16: codificaciones de longitud variable
Lecturas recomendadas Cualquier libro de sistemas digitales que cubra los temas vistos