r epresentaciÓn i nterna de la i nformaciÓn 1. i nformaciÓn e i nformÁtica una computadora es...
TRANSCRIPT
REPRESENTACIÓN INTERNA DE LA INFORMACIÓN
1
INFORMACIÓN E INFORMÁTICA Una computadora es una máquina que
procesa información. La ejecución de un programa implica el
tratamiento de los datos. Para que la computadora ejecute un
programa es necesario darles dos tipos de información: las instrucciones que forman el programa y los datos con los que debe operar ese programa.
Los aspectos más importantes de la Informática relacionados con la información son: cómo <representarla> y cómo <materializarla> o <registrarla>
físicamente. 2
¿CÓMO SE DA LA INFORMACIÓN A UNA COMPUTADORA?
Se la da en la forma usual escrita que utilizan los seres humanos; con ayuda de un alfabeto o conjunto de símbolos,
denominados caracteres.
Categorías de los caracteres: Caracteres alfabéticos: son los mayúsculas y
minúsculas del abecedario inglés:A, B, C, D, E,…, X, Y, Z, a, b, c, d,…, x, y, z
Caracteres numéricos: están 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 mayúscula.
3
Caracteres especiales: son los símbolos no incluidos en los grupos anteriores, entre otros los siguientes:
|^ ) ( , * / ; : Ñ ñ = ! ? . ‘’ & > # < { Ç } SP Con SP representamos el carácter o espacio en blanco,
tal como el que separa dos palabras.
Carácter de control: representan órdenes de control, como el carácter indicador de fin de línea o el carácter indicador de sincronización de una transmisión de que se emita un pitido en un terminal, etc. Muchos de estos son generados e insertados por la
propia computadora.
Caracteres Gráficos: son símbolos o módulos con los que se pueden representar figuras (o iconos) elementales.
4
CATEGORÍAS DE LOS CARACTERES
Toda comunicación con una computadora convencional se realiza según los caracteres que admitan sus dispositivos de E / S.
Toda instrucción o dato se representará por un conjunto de caracteres tomados del alfabeto definido en el sistema a utilizar.
El diseño de un sistema informático resulta mas fácil, su realización 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 apagada y 0 voltios yuno (1) encendida 3.5 voltios
5
101
101
0110
010
01
0
01010
0110
0110
01
CATEGORÍAS DE LOS CARACTERES
CODIFICACIÓN DE LA INFORMACIÓN
Codificación es una transformación 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: código de provincia en las matrículas de los coches; código de enfermedades definido por la Organización
Mundial de la Salud (OMS) número de cedula de identidad
Los códigos se permiten comprimir y estructurar la información
En el interior de los computadoraes la información se almacena y se transfiere de un sitio a otro según un código que utiliza sólo dos valores (un código binario) representados por 0 y 1. 6
CODIFICACIÓN DE LA INFORMACIÓN
Codificación y Decodificación Al tener que <traducir> toda la información 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 códigos de trasformación se denominan códigos de Entrada / Salida (E/S) o códigos externos.
Las operaciones aritméticas con datos numéricos se suelen realizar en una representación más adecuada para este objetivo que la obtenida con el código de E/S. 7
LA UNIDAD MÁS ELEMENTAL DE INFORMACIÓN…
…es un valor binario, conocido como BIT. El origen de este término es inglés:
BIT = Binary y digiT
Un bit es una posición o variable que toma el valor 0 o 1.
Es la capacidad mínima de almacenamiento de información en el interior de una computadora
El bit es la unidad de información mínima 8
INFORMACIÓN – CARACTERES – BIT …
A cada caracter le corresponde cierto número de bits.
Byte : número de bits necesarios para almacenar un caracter
Byte se utiliza como sinónimo de 8 bits u octeto. La capacidad de almacenamiento (computadora, soporte de
información) se mide en bytes. Byte es una unidad relativamente pequeña Se utiliza múltiplos:
1 Kilobyte = 1KB = 210 bytes = 1024 bytes =210 bytes
1 Megabyte = 1MB = 210 Kb = 1048576 bytes =220 bytes
1 Gigabyte = 1GB = 210 Mb = 1073741824 bytes =230 bytes
1 Terabyte = 1TB = 210 Gb = 1099511627776 bytes =240 bytes
1 Petabyte = 1PB = 210 Tb = 11258999906842624 bytes =250 bytes.
1 Exabyte = 1EB = 210 Pb = 11258999906842624 bytes =260 bytes.
1 Zettabyte = 1ZB = 210 Eb =270 bytes
1 Yottabyte = 1YB = 210 Zb =280 bytes
9
CODIFICACIÓN Código: Ley de correspondencia entre valores de
información y combinaciones de dígitos de un sistema digital utilizadas para representarlos.
Codificación: Información -> Códigoazul ----> 0 azul ----> 100verde ----> 1 ó verde ----> 101rojo ----> 2 rojo ----> 111
Decodificación: Código -> Informaciónazul <---- 0 azul <---- 100verde <---- 1 ó verde <---- 101rojo <---- 2 rojo <---- 111
Código binario: Cuando el sistema digital utilizado tiene sólo 2 estados (0,1).
10
REPRESENTACIÓN DE DATOS NUMÉRICOS
Para la representación de los datos numéricos se debe tener en cuenta que las operaciones de la ALU están sujetas a las siguientes restricciones: Los registros son de tamaño fijo. Puede existir desbordamiento. Presentan problemas con los números negativos.
Es necesario, por ello, introducir nuevas formas de numeración basadas, por supuesto, en la representación binaria.
Al conjunto de estas representaciones y su funcionamiento se le denomina aritmética binaria.
En aritmética binaria debemos distinguir: Representación para números enteros Representación de números reales.
11
Números de precisión finita En la mayoría de las computadoras, la cantidad de
memoria disponible para guardar números se fija en el momento de su diseño.
Llamamos a estos números de precisión finita.
12
13
DATOS DE TIPO ENTERO
Es una representación del conjunto de números enteros.
Es necesario utilizar un espacio finito y fijo para cada dato.
El número se debe representar en binario y almacenarlo con un número fijo de bits.
El número de datos distintos que se pueden generar es 2n, donde n es el número de bits que se utiliza en la representación. Por tanto, si se modifica el número de bits, se obtienen distintos tipos enteros.
Cualquier operación con datos de tipo entero es exacta salvo que se produzcan desbordamientos.
DATOS DE TIPO ENTERO
14
Enteros sin signo No hace falta codificación, todos los bits del dato representan el
valor del número expresado en binario natural (sistema de numeración 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 número entero a representar. El signo se representa con el bit mas significativo del dato Se distingue entre números:
Positivos: Se almacenan con el bit de signo puesto a 0 Negativos: Se almacenan con el bit de signo puesto a 1
Permiten almacenar números desde -2 (n-1), hasta + (2(n-1)) - 1 Bytes: -128 a +127 Words (de 2 Bytes): -32768 a 32767
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:
Si el número es positivo: el valor absoluto del número en binario natural
Si es negativo: su complemento a 1 ó 2
Representación con exceso o sesgada Se le suma al número N un sesgo S, de forma tal que el número
resultante siempre es positivo, no siendo necesario reservar un bit de signo.
Representación con dígitos decimales codificados en binario (BCD)
En ocasiones, los datos de tipo entero se representan internamente codificando aisladamente cada dígito decimal con cuatro dígitos binarios
De esta froma, en un byte se pueden representar 2 dígitos decimales
En la representación BCD de datos con signo se suelen utilizar 4 bits par representar al signo, por ejemplo 0000 para positivo y 1001 para negativo
DATOS DE TIPO ENTERO
16
DATOS DE TIPO REAL
Es una representación del conjunto de números reales Cuando se opera con números muy grandes se suele
utilizar la notación exponencial, también llamada notación científica o notación en como flotante.
Todo número N puede ser representado en la forma:N = M . B E
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 aritméticos para operar con este tipo de datos.
No permite el almacenamiento de números muy grandes o muy pequeños, lo que conlleva a que se produzcan desbordamientos y agotamientos.
DATOS DE TIPO REAL
Coma fija: La posición está fijada de antemano y es invariante. Cada número 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 número en punto fijo puede representar a
muchos números 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 números reales pueden representarse con
este formato 17
DATOS DE TIPO REAL
18
COMA FLOTANTE
Coma flotante: La posición 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 notación científica 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 más significativo de la mantisa contiene el signo. Existen tres formatos:
SignoN Mantisa Exponente → Directo SignoM Exponente Mantisa → Comparación
rápida SignoE Exponente SignoN Mantisa → Precisión
ampliada
19
Como un valor puede tener más de una representación, se normaliza la representación haciendo que el primer bit significativo de la mantisa ocupe la posición inmediatamente a continuación 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 codificación.
El bit que no se incluye recibe el nombre de bit implícito.
Las características de los sistemas de representación en coma flotante son: El exponente se representa en
exceso a 2n-1, siendo n el número de bits del exponente.
La mantisa es un número real normalizado, sin parte entera.
Su representación puede ser en cualquier sistema: módulo y signo, Complemento a 1 o Complemento a 2.
La base de exponenciación es una potencia de dos.
20
COMA FLOTANTE
Representación en simple precisión: Palabra de 32 bits. Signo Exponente Mantisa 31 30 23 22 0 1 bit 8 bits 23 bits
Un ejemplo en C es el float
21
COMA FLOTANTE
Representación en doble precisión: Palabra de 64 bits. Signo Exponente Mantisa 63 62 52 51 0 1 bit 11 bits 52 bits
Un ejemplo en C es el Double
22
COMA FLOTANTE
PRINCIPALES TIPOS DE DATOS ARITMÉTICOS UTILIZABLES EN EL LENGUAJE DE PROGRAMACIÓN C
(COMPILADOR BORLAND C++ PARA PC)
Tipo Nº de bits
Rango de valores Precisión (dígitos
decimales)
Tipos enteros
Carácter Carácter 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
-128,127 0 a 255
-32.768 a 32.767 0 a 65.535
-32.768 a 32.767 * *
-2.1471484.648 a 2.147
1 484.648
0 a 4.2941967.295
3 3 3 5 5 * *
10 10
Tipos reales
Coma flotante Coma flotante doble Coma flotante doble largo
32 64 80
±[3,4E-38 a 3,4E38], 0 ±[1,7E-308 a 1,7E308], 0
±[3,4E-4932 a 1,1E4932], 0
7 15 19
23
REPRESENTACIÓN DE TEXTOS
Códigos de Entrada/Salida Asocian a cada símbolo una determinada
combinación 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 símbolos distintos
Para codificar m símbolos 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 necesitarán : n ≥ 3.3221 log(m) = 3.322 bits
es decir, 4 bits (para que se cumpla la relación)
Por lo menos se necesitan 4 bits, pero pueden hacerse codificaciones con más bits de los necesarios.
Con 4 bits no se usan 24 – 10 = 6 combinaciones, y con 5 bits 25 – 10 = 22 combinaciones. 25
Alfabeto Código I Código II
0123456789
0000100001001100001010100110111000011001
00000100010100111000001011010001100111010001110010
26
EJEMPLOS DE CÓDIGOS DE E/S
Código ASCII El código ASCII se utiliza para representar caracteres. Formado por 8 bits (cada carácter se expresa por un número entre 0 y 255) Es un código estándar, independiente del lenguaje y de la computadora Podemos distinguir dos grupos:
Los 128 primeros caracteres se denominan código ASCII estándar Representan los caracteres que aparecen en una maquina de escribir convencional
Los 128 restantes se denominan código ASCII ampliado o extendido Este código asocia un numero de caracteres que no aparecen en la maquina de escribir y que son muy
utilizados en la computadora tales como caracteres gráficos u operadores matemáticos.
Código EBCDIC Extended Binary Coded Decimal Interchange Code
Código Ampliado de Caracteres Decimales Codificados en Binario para Intercambio de Información
Es un sistema de codificación de caracteres alfanuméricos impulsado por IBM. Cada carácter queda representado por un grupo de 8 bits.
27
28
AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE
29
AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE
30
Código Unicode
Existen numerosos sistemas de codificación que asignan un número a cada carácter (letras, números, signos,…). Ninguna codificación (el código ASCII es un ejemplo elocuente) específica puede contener caracteres suficientes.
Por ejemplo, la Unión Europea, por sí sola, necesita varios sistemas de codificación distintos para cubrir todos sus idiomas. También presentan problemas de incompatibilidad entre los diferentes sistemas de codificación. Por esta razón se creó Unicode.
El consorcio Unicode, es una organización sin ánimo de lucro que se creó para desarrollar, difundir y promover el uso de la norma Unicode que especifica la representación del texto en productos y estándares de software modernos.
El consorcio está integrado por una amplia gama de corporaciones y organizaciones de la industria de la computación y del procesamiento de la información (empresas tales como Apple, HP, IBM, Sun, Oracle, Google, Microsoft,…o estándares modernos tales como XML, Java, CORBA, etc.)
Formalmente, el estándar Unicode está definido en la última versión impresa del libro The Unicode Standard que edita el consorcio y que también se puede “bajar” de su sitio Web.
http://www.unicode.org.
31