Tema IV. Manejo Interno de Datos Objetivo: El alumno describirá cómo se almacenan los datos en los diferentes medios de un sistema de cómputo, asimismo manipulará los datos para minimizar los diferentes errores que pueden suscitarse en su almacenamiento. 4.1 Unidades de medida de almacenamiento: bit, byte y palabra Tipos de Datos En la actualidad los datos se presentan de diferentes maneras, por ejemplo números, texto, imágenes, audio y video. Datos Texto Numero Imagen Audio Video Ing. Tanya Arteaga Ricci 4.1 Unidades de medida de almacenamiento: bit, byte y palabra Los datos dentro de una computadora ¿Cómo se manejan todos estos tipos de datos? No es necesario tener varias computadoras para poder procesar estos tipos de datos, ya que, por lo general son una mezcla de tipos. La solución más eficaz es usar una representación uniforme de los datos. Todo tipo de datos que entran del exterior a una computadora se transforman en esta representación uniforme cuando se almacenan en una computadora y se vuelven a transformar en su representación original cuando salen de la computadora. Este formato universal se llama patrón de bits. Ing. Tanya Arteaga Ricci 4.1 Unidades de medida de almacenamiento: bit, byte y palabra Unidades de Medida Bit Unidad mínima de información de la memoria, equivalente a un "sí" (0) o un "no" (1) binarios. 0 Byte Compuesta de 8 bits consecutivos. Cada byte puede representar, por ejemplo, una letra. Palabra Es la agrupación de 1, 2 o 4 bytes. 1 “a” = 01100001 Ing. Tanya Arteaga Ricci 4.1 Unidades de medida de almacenamiento: bit, byte y palabra John Wilder Tukey (1915 – 2000) Estadístico nacido en New Bedford, Massachusetts. Mientras trabajaba con John von Neumann en los primeros diseños de computadoras, Tukey introdujo la palabra "bit" como contracción de "Dígito binario" (por sus siglas en inglés Binary Digit). Tukey usó el termino "Software de Computación" (Computer Software) en un contexto computacional en un artículo de 1958 en el American Mathematical Monthly, aparentemente el primer uso del término. Ing. Tanya Arteaga Ricci 4.1 Unidades de medida de almacenamiento: bit, byte y palabra Patrón de Bits ¿Cómo sabe la computadora qué tipo de datos representa el patrón de bits? No lo sabe. La memoria de la computadora sólo almacena los datos como patrones de bits. Es responsabilidad de los dispositivos de entrada/salida o de los programas interpretar un patrón de bits como un número, texto o algún otro tipo de datos. En otras palabras, los datos se codifican cuando entran a la computadora y se decodifican cuando se presentan al usuario. Ing. Tanya Arteaga Ricci 4.1 Unidades de medida de almacenamiento: bit, byte y palabra Unidades de Medida Nibble Conjunto de 4 bits 1001 Byte Conjunto de 8 bits 10101010 Kilobyte (Kb) Conjunto de 1024 bytes 1024 * 8 bits Megabyte (Mb) Conjunto de 1024 Kb 10242 * 8 bits Gigabyte (Gb) Conjunto de 1024 Mb 10243 * 8 bits Terabyte (Tb) Conjunto de 1024 Gb 10244 * 8 bits Ing. Tanya Arteaga Ricci 4.1 Unidades de medida de almacenamiento: bit, byte y palabra ¿1024? Para medir la cantidad de información representada en binario se utilizan múltiplos que a diferencia de otras magnitudes físicas utilizan el factor multiplicador 1024 en lugar de 1000, debido a que es el múltiplo de 2 más cercano a este último ( 210=1024) Ing. Tanya Arteaga Ricci 4.2 Representación de datos tipo texto Representación de Datos Una pieza de texto en cualquier idioma es una secuencia de símbolos usados para representar una idea en ese idioma. Se puede representar cada símbolo con un patrón de bits. Dicho de otra forma, texto como la palabra “BYTE”, formada por cuatro símbolos, pueden representarse como 4 patrones de bits, en los que se define un solo símbolo. Ing. Tanya Arteaga Ricci 4.2 Representación de datos tipo texto Código ASCII ASCII El Instituto Nacional Norteamericano de Estándares (ANSI: American National Standards Institute) desarrolló un código llamado Código norteamericano de estándares para intercambio de información (ASCII: American Standard Code for Information Interchange). Este código utiliza siete bits para cada símbolo. Esto significa que 128 (27) símbolos distintos pueden definirse mediante este código. Ing. Tanya Arteaga Ricci 4.2 Representación de datos tipo texto • ASCII utiliza un patrón de siete bits que varía de 0000000 a 1111111 • El primer patrón (0000000) representa el carácter nulo (la ausencia de carácter) • El último patrón (1111111) representa el carácter de eliminación. • Hay 31 caracteres de control (no imprimibles). • Los caracteres numéricos (0 a 9) se codifican antes que las letras. • Hay varios caracteres de impresión especiales. • Las letras mayúsculas (A…Z) están antes que las letras minúsculas (a…z). • Los caracteres en mayúsculas y minúsculas se distinguen sólo por un bit. Por ejemplo, el patrón para A es 1000001; el patrón para a es 1100001. La única diferencia es el sexto bit a partir de la derecha. • Hay seis caracteres especiales entre las letras mayúsculas y minúsculas. Ing. Tanya Arteaga Ricci 4.2 Representación de datos tipo texto A principios de la era de las computadoras, IBM desarrolló un código llamado Código extendido de intercambio decimal codificado en binario (EBCDIC: Extended Binary Coded Decimal Interchange Code). Este código utiliza patrones de ocho bits, de manera que puede representar hasta 256 símbolos. Sin embargo, este código no se utiliza más que en computadoras mainframe de IBM. Ing. Tanya Arteaga Ricci 4.2 Representación de datos tipo texto UNICODE Ninguno de los códigos anteriores representa símbolos que pertenecen a idiomas distintos al inglés. Por eso, se requiere un código con mucha más capacidad. Una coalición de fabricantes de hardware y software ha diseñado un código llamado UNICODE que utiliza 16 bits y puede representar hasta 65536 (216) símbolos. Diferentes secciones del código se usan para símbolos gráficos y especiales. Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Los sistemas de numeración son las distintas formas de representar la información numérica. Se nombran haciendo referencia a la base, que representa el número de dígitos diferentes para representar todos los números. Sistema de numeración Egipcio Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Actualmente empleamos el sistema decimal que cuenta con los dígitos del 0 al 9 para nuestros cálculos cotidianos. Este es un ejemplo de sistema de numeración posicional cuya base es 10. Dada una cantidad, cada dígito tiene un valor específico de acuerdo con la posición que ocupa. …, centenas, decenas, unidades Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Las modernas computadoras digitales no pueden utilizar la base 10 para realizar sus operaciones, ellas ocupan la base 2 que únicamente emplea los dígitos 0 y 1 en la representación de cantidades. Sistema Octal 0, 1, 2, 3, 4, 5, 6, 7 Sistema Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Tabla de valores posicionales para definición de cantidades en el sistema decimal. … 103 102 101 100 | . | 10-1 10-2 10-3 … Que al desarrollar da: … 1,000 100 10 1 | . | 1/10 1/100 1/1000 … Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Cantidad en sistema decimal 1000 + 900 + 80 + 8 = 1988 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Tabla de valores posicionales para definición de cantidades en el sistema binario. … 24 23 22 21 20 | . | 2-1 2-2 2-3 … Que al desarrollar da: … 16 8 4 2 1 | . | ½ ¼ 1/ 8 … Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Tabla de valores posicionales para definición de cantidades en el sistema octal. … 84 83 82 81 80 | . | 8-1 8-2 8-3 … Que al desarrollar da: … 4096 512 64 8 1 | . | 1/8 1/64 1/512 … Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Tabla de valores posicionales para definición de cantidades en el sistema hexadecimal. … 163 162 161 160 | . | 16-1 16-2 16-3 … Que al desarrollar da: … 4,096 256 16 1 | . | 1/16 1/256 1/4096 … Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Conversión de cantidades en una base dada a base decimal Dada la cantidad binaria siguiente: 11111000100 1 1 1 1 1 0 0 0 1 0 0 210 29 28 27 26 25 24 23 22 21 20 256 128 64 32 16 8 4 2 1 1024 512 Decimal = 1988 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Conversión de cantidades en una base dada a base decimal Dada la cantidad octal siguiente: 3704 3 7 0 4 83 82 81 80 512 64 8 1 Decimal = 1988 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Conversión de cantidades en una base dada a base decimal Dada la cantidad hexadecimal siguiente: 7 8 A 7 8 A Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Ejercicios: Convierta las siguientes cantidades a decimal: a) (1 1 0 0 0 1) b = ()d b) ( 4 7 )o = ()d c) ( 2 7 )h = ()d d) ( 5 B )h = ()d Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Conversión de cantidades en una base decimal a otra base Dada la cantidad decimal siguiente: 2 31 2 62 0 994 1988 188 8 0 15 2 31 1 2 497 994 0 7 2 15 1 1988 248 2 497 1 3 2 7 1 1 2 3 1 124 2 248 0 62 2 124 0 Binario: 11111000100 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Convierta las siguientes cantidades a la base correspondiente: a) ( 45 )10 = ()2 b) ( 39 )10 = ()8 c) ( 17 )10 = ()16 d) ( 85 )10 = ()2 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Considerando las tablas para el sistema binario, octal y hexadecimal que permiten obtener el equivalente decimal de cantidades dadas en esas bases: (512) (256) (128) 29 28 27 (64) 26 (512) 83 (64) 82 (256) 162 (32) 25 (16) 24 (8) 23 (8) 81 (16) 161 (4) 22 (2) 21 (1) 20 (1) 80 (1) 160 La agrupación de cada tres dígitos binarios permite determinar un dígito octal. La agrupación de cada cuatro dígitos binarios permite determinar un dígito hexadecimal. Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Tabla de relación de binario - octal DECIMAL BINARIO OCTAL 0 000 0 1 001 1 2 010 2 3 011 3 4 100 4 5 101 5 6 110 6 7 111 7 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Tabla de relación de binario - hexadecimal DECIMAL BINARIO HEXADECIMAL DECIMAL BINARIO HEXADECIMAL 0 0000 0 8 1000 8 1 0001 1 9 1001 9 2 0010 2 10 1010 A 3 0011 3 11 1011 B 4 0100 4 12 1100 C 5 0101 5 13 1101 D 6 0110 6 14 1110 E 7 0111 7 15 1111 F Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Obtenga los equivalentes octal y hexadecimal de la cantidad binaria siguiente: a) ( 10101000100.11011 )2 = ()8 b) ( 11011000100.11011 )2 = ()16 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Obtención de la parte fraccionaria Obtención de la parte fraccionaria de una cantidad en otra base distinta a la base decimal Solamente vamos multiplicando la parte fraccionaria por la base a la que queremos convertirla y los residuos son los que vamos a seguir multiplicando sucesivamente. Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Ejemplo: Obtenga el equivalente a) ( 5721.14 )10 = ()2 b) ( 531.35 )10 = ()8 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Representación de enteros Los enteros son números íntegros (es decir, números sin una fracción). Por ejemplo, 134 es un entero, pero 134.23 no lo es. Como otro ejemplo -134 es un entero, pero -134.567 no lo es. Un entero puede ser positivo o negativo. Un entero negativo varía del infinito negativo a 0; un entero positivo varía de 0 al infinito positivo. -∞ 0 +∞ Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Representación de enteros Representación de enteros Sin signo Con signo Signo y magnitud Complemento a uno Complemento a dos Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Formato de enteros sin signo Un entero sin signo es un entero que no tiene intervalo, su rango está entre 0 y el infinito positivo. No obstante, como no hay manera de que una computadora represente a todos los enteros en este intervalo, la mayoría de las computadoras define una constante llamada el entero máximo sin signo. Un entero sin signo varía entre 0 y esta constante. El entero máximo sin signo depende del número de bits que la computadora asigna para almacenar un entero sin signo. Intervalo: 0 … (2N-1) Número de bits Intervalo 8 0 … 255 16 0 … 65535 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Formato de enteros sin signo Decimal Localidad de 8 bits Localidad de 16 bits 7 00000111 0000000000000111 234 11101010 0000000011101010 258 Desbordamiento 0000000100000010 24760 Desbordamiento 0110000010111000 1245678 Desbordamiento Desbordamiento Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Formato de signo y magnitud El almacenamiento de un entero en el formato de signo y magnitud requiere 1 bit para representar el signo (0 para positivo, 1 para negativo). Esto significa que en una asignación de ocho bits, sólo se pueden usar siete bits para representar el valor absoluto del número (número sin signo). Por consiguiente, el máximo valor positivo es la mitad del valor sin signo. Intervalo: - (2N-1 – 1 ) … + (2N-1 – 1 ) Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Intervalo de enteros de signo y magnitud Número de bits Rango 8 -127 … - 0 + 0 … + 127 16 -32 767 … - 0 + 0 … + 32 767 32 -2 147 483 647 … - 0 + 0 … + 2 147 483 647 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Almacenamiento de enteros de signo y magnitud Decimal Localidad de 8 bits Localidad de 16 bits +7 00000111 0000000000000111 -124 11111100 1000000001111100 +258 Desbordamiento 0000000100000010 -24 760 Desbordamiento 1110000010111000 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Formato de complemento a uno Para representar un número positivo, se usa la convención adoptada para un entero sin signo. Y para representar un número negativo, complementan el número positivo. En otras palabras, +7 se representa justo como un número sin signo, mientras que -7 se representa como el complemento de +7. En el complemento a uno, el complemento de un número se obtiene al cambiar todos los 0 a 1 y todos los 1 a 0. Existen dos “0” en la representación del complemento de uno: positivo y negativo. En una asignación de 8 bits: +0 00000000 -0 11111111 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Representación Para almacenar los enteros complemento de uno se siguen estos pasos: 1. Cambie el número a binario; el signo es ignorado. 2. Añada uno o varios 0 a la izquierda del número para hacer un total de N bits. 3. Si el rango es positivo, no se necesita ninguna otra acción. Si el signo es negativo, complemente cada bit (cambie 0 por 1 y 1 por 0) Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Formato de complemento a dos El complemento a dos es la representación de enteros más común, más importante y de más amplio uso en la actualidad. Para almacenar el complemento a dos se deben seguir estos pasos: 1. El número se cambia a binario; el signo se ignora. 2. Si el número de bits es menor que N se añaden 0 a la izquierda del número de manera que haya un total de N bits. 3. Si el signo es positivo, no se necesita una acción posterior, si el signo es negativo, todos los 0 en el extremo derecho y el primer 1 permanecen sin cambios. El resto de los bits se complementa. Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Ejemplo de complemento a 1 Representación del número -5 en complemento a 1 con 4 bits 0101 1010 Ejemplo de complemento a 2 Representación del número -5 en complemento a 2 con 4 bits 0101 1011 Ing. Tanya Arteaga Ricci 4.3 Representación numérica: magnitud y signo, complemento a dos Ejercicios Represente los siguientes números en complemento a 2 con 4 bits a) - 3 b) - 4 c) - 6 En binario 0011 Complemento a 2 1101 En binario 0100 Complemento a 2 1100 En binario 0110 Complemento a 2 1010 Represente los siguientes números en complemento a 2 con 8 bits d) –10 e) –15 En binario 00001010 Complemento a 2 11110110 En binario 00001111 Complemento a 2 11110001 Ing. Tanya Arteaga Ricci 4.4 Tipos de errores en la manipulación de cantidades Tipos de Errores La memoria de la computadora tiene limitaciones físicas (por ejemplo en su capacidad), por lo tanto es importante tener en cuenta los tipos de errores más comunes en el manejo de datos numéricos, a saber: •Error inherente •Error de redondeo •Error de truncamiento Ing. Tanya Arteaga Ricci 4.4 Tipos de errores en la manipulación de cantidades Error inherente El error inherente ocurre por la imposibilidad de realizar mediciones exactas y, como resultado de ello, la imposibilidad de representar exactamente cantidades. Son aquellos que tienen los datos de entrada de problema, y son debidos principalmente a que obtienen experimentalmente, debiéndose tanto instrumento de medición, como a las condiciones realización del experimento un se al de Ing. Tanya Arteaga Ricci 4.4 Tipos de errores en la manipulación de cantidades Error de redondeo El error de redondeo ocurre por la necesidad de utilizar menos dígitos en alguna fracción. Por ejemplo para representar con unos cuantos dígitos =0.6666666666666666666667. Se originan debido a que la computadora emplea un número determinado de cifras significativas durante un cálculo. Los números tales como , e o 7 no pueden expresarse como un número fijo de cifras significativas. Por lo tanto, no pueden ser representados exactamente por la computadora. Además, debido a que las computadoras usan una representación en base 2, no pueden representar exactamente algunos números en base 10. Esta discrepancia por la omisión de cifras significativas se llama error de redondeo. E 2,7182818284590452353602874713527 7 = 2,6457513110645905905016157536393 •. Ing. Tanya Arteaga Ricci 4.4 Tipos de errores en la manipulación de cantidades Error de truncamiento El error de truncamiento se presenta cuando se detiene algún proceso matemático recursivo sin alcanzar el resultado exacto. Los errores de truncamiento son aquellos que resultan al usar una aproximación en lugar de un procedimiento matemático exacto. Para obtener un conocimiento sobre las características de estos errores, debe considerar una formulación matemática que se utiliza ampliamente en los métodos numéricos para expresar funciones de manera aproximada: la serie de Taylor. Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. Imágenes Hoy en día las imágenes se representan en una computadora mediante uno de dos métodos: gráficos de mapa de bits o gráficos de vectores. Imagen Bitmap Vector Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. Método de gráficos de mapa de bits de una imagen blanco y negro Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. RGB – Combinación de colores para imágenes digitales Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. Representación de audio Ing. Tanya Arteaga Ricci 4.5 Formato de manejo de imágenes, video, voz, etc. Representación de video Normalmente, un vídeo es una colección de imágenes acompañada de sonido; la información de uno y otro tipo se suele grabar en pistas separadas que luego se coordinan para su ejecución simultánea. Algunos formatos usados para almacenar video en las computadoras son: - avi - 3gp - mp4 - asf - wmv - mov Ing. Tanya Arteaga Ricci