REPRESENTACIN INTERNA DE LA INFORMACIN 1 INFORMACIN E INFORMTICA Una computadora es una mquina que procesa informacin. La ejecucin de un programa implica el tratamiento de los datos. Para que la computadora ejecute un programa es necesario darles dos tipos de informacin: las instrucciones que forman el programa y los datos con los que debe operar ese programa. Los aspectos ms importantes de la Informtica relacionados con la informacin son: cmo y cmo o fsicamente. 2
CMO SE DA LA INFORMACIN A UNA COMPUTADORA? Se la da en la forma usual escrita que utilizan los seres humanos; con ayuda de un alfabeto o conjunto de smbolos, denominados caracteres. Categoras de los caracteres: Caracteres alfabticos: son los maysculas y minsculas del abecedario ingls: A, B, C, D, E,, X, Y, Z, a, b, c, d,, x, y, z Caracteres numricos: estn constituidos por las diez cifras decimales: , 1, 2, 3, 4, 5, 6, 7, 8, 9 El cero suele marcarse con una raya inclinada () para evitar posibles confusiones con la O mayscula.
3 CATEGORAS DE LOS CARACTERES Caracteres especiales: son los smbolos no incluidos en los grupos anteriores, entre otros los siguientes: |^ ) ( , * / ; : = ! ? . & > # < { } SP Carcter de control: representan rdenes de control, como el carcter indicador de fin de lnea o el carcter indicador de sincronizacin de una transmisin de que se emita un pitido en un terminal, etc. Con SP representamos el carcter o espacio en blanco, tal como el que separa dos palabras. Muchos de estos son generados e insertados por la propia computadora. Caracteres Grficos: son smbolos o mdulos con los que se pueden representar figuras (o iconos)
elementales. 4 CATEGORAS DE LOS CARACTERES Toda comunicacin con una computadora convencional se realiza segn los caracteres que admitan sus dispositivos de E / S. Toda instruccin o dato se representar por un conjunto de caracteres tomados del alfabeto definido en el sistema a utilizar. El diseo de un sistema informtico resulta mas fcil, su realizacin menos compleja y su funcionamiento muy fiable, si se utilizan solo dos valores o estados posibles. Estos valores conceptualmente se representan por cero (0) y uno (1) apagada y encendida
0 voltios y 3.5 voltios 101 101 011 0 010 01 0 010 10 011 0 011 0 01 5 CODIFICACIN DE LA INFORMACIN Codificacin es una transformacin que representa los elementos de un conjunto mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo.
Ejemplo: cdigo de provincia en las matrculas de los coches; cdigo de enfermedades definido por la Organizacin Mundial de la Salud (OMS) nmero de cedula de identidad Los cdigos se permiten comprimir y estructurar la informacin En el interior de los computadoraes la informacin se almacena y se transfiere de un sitio a otro segn un cdigo que utiliza slo dos valores (un cdigo binario) representados por 0 y 1. 6 CODIFICACIN DE LA INFORMACIN Codificacin y Decodificacin Al tener que toda la informacin suministrada al computadora a ceros y unos, es necesario establecer una correspondencia entre el conjunto de todos los caracteres }
= { A, B, C, D, , Z, a, b,, z, 0, 1, 2, 3, , 9, /, +, (, ), y el conjunto binario = { 0, 1 } n Estos cdigos de trasformacin se denominan cdigos de Entrada / Salida (E/S) o cdigos externos. Las operaciones aritmticas con datos numricos se suelen realizar en una representacin ms adecuada para este objetivo que la obtenida con el cdigo de E/S. 7 LA UNIDAD MS ELEMENTAL DE INFORMACIN es un valor binario, conocido como BIT. El origen de este trmino es ingls: BIT = Binary y digiT Un bit es una posicin o variable que toma el valor 0 o 1. Es la capacidad mnima de almacenamiento de informacin en el interior de una computadora El bit es la unidad de informacin mnima
8 INFORMACIN CARACTERES BIT A cada caracter le corresponde cierto nmero de bits. Byte : nmero de bits necesarios para almacenar un caracter Byte se utiliza como sinnimo de 8 bits u octeto. La capacidad de almacenamiento (computadora, soporte de informacin) se mide en bytes. Byte es una unidad relativamente pequea Se utiliza mltiplos:
1 1 1 1 1 Kilobyte Megabyte Gigabyte Terabyte Petabyte bytes. 1 Exabyte bytes. 1 Zettabyte 1 Yottabyte = = = = = 1KB 1MB 1GB 1TB 1PB
= = = = = 210 bytes = 1024 bytes =210 bytes 210 Kb = 1048576 bytes =220 bytes 210 Mb = 1073741824 bytes =230 bytes 210 Gb = 1099511627776 bytes =240 bytes 210 Tb = 11258999906842624 bytes =250 = 1EB = 210 Pb = 11258999906842624 bytes =260 = 1ZB = 1YB = 210 Eb =270 bytes = 210 Zb =280 bytes 9 CODIFICACIN Cdigo: Ley de correspondencia entre valores de informacin y combinaciones de dgitos de un sistema
digital utilizadas para representarlos. Codificacin: Informacin -> Cdigo azul ----> 0 verde ----> 1 rojo ----> 2 Decodificacin: Cdigo -> Informacin azul <---- 0 verde <---- 1 rojo <---- 2 azul ----> 100 verde ----> 101 rojo ----> 111 azul <---- 100 verde <---- 101 rojo <---- 111
Cdigo binario: Cuando el sistema digital utilizado tiene slo 2 estados (0,1). 10 REPRESENTACIN DE DATOS NUMRICOS Para la representacin de los datos numricos se debe tener en cuenta que las operaciones de la ALU estn sujetas a las siguientes restricciones: Los registros son de tamao fijo. Puede existir desbordamiento. Presentan problemas con los nmeros negativos. Es necesario, por ello, introducir nuevas formas de numeracin basadas, por supuesto, en la representacin binaria. Al conjunto de estas representaciones y su funcionamiento se le denomina aritmtica binaria. En aritmtica binaria debemos distinguir: Representacin para nmeros enteros Representacin de nmeros reales.
11 Nmeros de precisin finita En la mayora de las computadoras, la cantidad de memoria disponible para guardar nmeros se fija en el momento de su diseo. Llamamos a estos nmeros de precisin finita. 12 DATOS DE TIPO ENTERO Es una representacin del conjunto de nmeros enteros. Es necesario utilizar un espacio finito y fijo para cada
dato. El nmero se debe representar en binario y almacenarlo con un nmero fijo de bits. El nmero de datos distintos que se pueden generar es 2n, donde n es el nmero de bits que se utiliza en la representacin. Por tanto, si se modifica el nmero de bits, se obtienen distintos tipos enteros. Cualquier operacin con datos de tipo entero es exacta salvo que se produzcan desbordamientos. 13 DATOS DE TIPO ENTERO Enteros sin signo No hace falta codificacin, todos los bits del dato representan el valor del nmero expresado en binario natural (sistema de numeracin base 2). Enteros en signo y magnitud
Se basan en tener 1 bit para el signo, y el resto de la cifra (n-1 bits) para codificar el nmero entero a representar. El signo se representa con el bit mas significativo del dato Se distingue entre nmeros: Positivos: Se almacenan con el bit de signo puesto a 0 Negativos: Se almacenan con el bit de signo puesto a 1 Permiten almacenar nmeros desde -2 (n-1), hasta + (2(n-1)) - 1 Bytes: -128 a +127 Words (de 2 Bytes): -32768 a 32767 14 DATOS DE TIPO ENTERO Enteros en complemento a 1 2
El signo se representa de la misma forma que en el caso de signo y magnitud El resto de los bits representan: Representacin con exceso o sesgada Si el nmero es positivo: el valor absoluto del nmero en binario natural Si es negativo: su complemento a 1 2 Se le suma al nmero N un sesgo S, de forma tal que el nmero resultante siempre es positivo, no siendo necesario reservar un bit de signo. Representacin con dgitos decimales codificados en binario (BCD)
En ocasiones, los datos de tipo entero se representan internamente codificando aisladamente cada dgito decimal con cuatro dgitos binarios De esta froma, en un byte se pueden representar 2 dgitos decimales En la representacin BCD de datos con signo se suelen utilizar 4 DATOS DE TIPO REAL Es una representacin del conjunto de nmeros reales Cuando se opera con nmeros muy grandes se suele utilizar la notacin exponencial, tambin llamada notacin cientfica o notacin en como flotante. Todo nmero N puede ser representado en la forma: N=M.BE Donde M es la mantisa, B es la base 10 y E el exponente Los microprocesadores actuales disponen internamente de un procesador de coma flotante (Float Point Unit, FPU) que contiene circuitos aritmticos para operar con este tipo de datos. No permite el almacenamiento de nmeros muy grandes
o muy pequeos, lo que conlleva a que se produzcan desbordamientos y agotamientos. 16 DATOS DE TIPO REAL Coma fija: La posicin est fijada de antemano y es invariante. Cada nmero se representa por n bits para la parte entera y m bits para la parte fraccionaria . Nos ahorramos el punto Depender de n y de m Se puede producir un error de truncamiento. Un mismo nmero en punto fijo puede representar a muchos nmeros reales. 1.25 (m=2), 1.256 (m=2), 1.2589 (m=2), 1.2596 (m=2), etc El MSB es el signo No todos los nmeros reales pueden representarse con 17
este formato DATOS DE TIPO REAL 18 COMA FLOTANTE Coma flotante: La posicin de la coma es variable dependiendo del valor del exponente. Es de la forma: m 10exp ( En decimal) m 2exp(En binario) En decimal en la notacin cientfica podemos escribir: 1.9 x 109 o en forma corta 1.9E9 Tiene dos campos uno contiene el valor de la mantisa y el otro de valor del exponente. El bit ms significativo de la mantisa contiene el signo. Existen tres formatos: SignoN SignoM
SignoE Mantisa Exponente Exponente Exponente Directo Mantisa Comparacin rpida SignoN Mantisa Precisin ampliada 19 COMA FLOTANTE Como un valor puede tener ms de una representacin, se normaliza la representacin haciendo que el primer bit significativo de la mantisa ocupe la posicin inmediatamente a continuacin del signo. Trabajando mantisas normalizadas siempre el primer bit de la mantisa
es el complemento del bit de signo, por lo que no es necesario incluirlo en la codificacin. El bit que no se incluye recibe el nombre de bit implcito. Las caractersticas de los sistemas de representacin en coma flotante son: El exponente se representa en exceso a 2n-1, siendo n el nmero de bits del exponente. La mantisa es un nmero real normalizado, sin parte entera. Su representacin puede ser en cualquier sistema: mdulo y signo,
Complemento a 1 o Complemento20 a 2. La base de exponenciacin es una potencia de dos. COMA FLOTANTE Representacin en simple precisin: Palabra de 32 bits. Signo 31 1 bit Un ejemplo en C es el float Exponente 30 23 8 bits Mantisa 22 0 23 bits
21 COMA FLOTANTE Representacin en doble precisin: Palabra de 64 bits. Signo 63 1 bit Exponente 62 52 11 bits Mantisa 51 0 52 bits Un ejemplo en C es el Double 22 PRINCIPALES TIPOS DE DATOS ARITMTICOS UTILIZABLES EN EL LENGUAJE DE PROGRAMACIN C (COMPILADOR BORLAND C++ PARA PC)
Tipo Tipos enteros Tipos reales N de bits Carcter Carcter sin signo Entero corto Entero corto sin signo Enumerado Entero Entero sin signo Entero largo Entero largo sin signo 8 8 16 16 16 * * 32
32 Coma flotante Coma flotante doble Coma flotante doble largo 32 64 80 Rango de valores -128,127 0 a 255 -32.768 a 32.767 0 a 65.535 -32.768 a 32.767 * * -2.1471484.648 a 2.1471 484.648 0 a 4.2941967.295 [3,4E-38 a 3,4E38], 0 [1,7E-308 a 1,7E308], 0 [3,4E-4932 a 1,1E4932], 0 Precisin (dgitos decimales) 3 3 3
5 5 * * 10 10 7 15 19 23 REPRESENTACIN DE TEXTOS Cdigos de Entrada/Salida Asocian a cada smbolo una determinada combinacin de bits. a = {0,1,2,...,8,9,A,B,...,Y,Z,a,b,...,y,z,*,",/,...} b = {0,1}n Con n bits podemos codificar m=2n smbolos distintos Para codificar m smbolos distintos se necesitan n bits, n= log2 m 24 EJEMPLO:
Para codificar las cifras decimales {0,1,2,3,4,5,6,7,8,9} se necesitarn : n 3.3221 log(m) = 3.322 bits es decir, 4 bits (para que se cumpla la relacin) Por lo menos se necesitan 4 bits, pero pueden hacerse codificaciones con ms bits de los necesarios. Con 4 bits no se usan 24 10 = 6 combinaciones, y con 5 bits 25 10 = 22 combinaciones. 25 Alfabeto 0 1 2 3 4
5 6 7 8 9 Cdigo I 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 Cdigo II 00000 10001 01001 11000 00101 10100 01100 11101 00011 10010
26 EJEMPLOS DE CDIGOS DE E/S Cdigo ASCII El cdigo ASCII se utiliza para representar caracteres. Formado por 8 bits (cada carcter se expresa por un nmero entre 0 y 255) Es un cdigo estndar, independiente del lenguaje y de la computadora Podemos distinguir dos grupos: Los 128 primeros caracteres se denominan cdigo ASCII estndar Representan los caracteres que aparecen en una maquina de escribir convencional Los 128 restantes se denominan cdigo ASCII ampliado o extendido Este cdigo asocia un numero de caracteres que no aparecen en la maquina de escribir y que son muy utilizados en la computadora tales como caracteres grficos u operadores matemticos.
Cdigo EBCDIC Extended Binary Coded Decimal Interchange Code Cdigo Ampliado de Caracteres Decimales Codificados en Binario para Intercambio de Informacin Es un sistema de codificacin de caracteres alfanumricos impulsado por IBM. Cada carcter queda representado por un grupo de 8 bits. 27 AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE 28 AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE 29
Cdigo Unicode Existen numerosos sistemas de codificacin que asignan un nmero a cada carcter (letras, nmeros, signos,). Ninguna codificacin (el cdigo ASCII es un ejemplo elocuente) especfica puede contener caracteres suficientes. Por ejemplo, la Unin Europea, por s sola, necesita varios sistemas de codificacin distintos para cubrir todos sus idiomas. Tambin presentan problemas de incompatibilidad entre los diferentes sistemas de codificacin. Por esta razn se cre Unicode. El consorcio Unicode, es una organizacin sin nimo de lucro que se cre para desarrollar, difundir y promover el uso de la norma Unicode que especifica la representacin del texto en productos y estndares de software modernos. El consorcio est integrado por una amplia gama de corporaciones y organizaciones de la industria de la computacin y del procesamiento de la informacin (empresas tales como Apple, HP, IBM, Sun, Oracle, Google, Microsoft,o estndares modernos tales como XML, Java, CORBA, etc.) Formalmente, el estndar Unicode est definido en la ltima versin impresa del libro The Unicode Standard que edita el consorcio y que tambin se puede bajar de su sitio Web. http://www.unicode.org . 30 31