Download Representacion Interna de Información

Document related concepts

Bit wikipedia , lookup

Unidades de información wikipedia , lookup

Precisión simple en coma flotante wikipedia , lookup

Coma flotante wikipedia , lookup

Códigos de caracteres de 6 bits wikipedia , lookup

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
CATEGORÍAS DE LOS CARACTERES

Caracteres especiales: son los símbolos no incluidos
en los grupos anteriores, entre otros los siguientes:
|^ ) ( , * / ; : Ñ ñ = ! ? .  ‘’ & > # < { Ç } SP


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.


Con SP representamos el carácter o espacio en blanco, tal
como el que separa dos palabras.
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
uno (1)
apagada y
encendida
0 voltios y
3.5 voltios
101
101
0110
010
01
0
0101
0
0110
0110
01
5
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
1 Megabyte
1 Gigabyte
1 Terabyte
1 Petabyte
1 Exabyte
1 Zettabyte
1 Yottabyte
= 1KB
= 1MB
= 1GB
= 1TB
= 1PB
= 1EB
= 1ZB
= 1YB
= 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 bytes.
= 210 Pb = 11258999906842624 bytes =260 bytes.
= 210 Eb =270 bytes
9
= 210 Zb =280 bytes
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ódigo
azul ----> 0
verde ----> 1
rojo ----> 2

Decodificación: Código -> Información
azul <---- 0
verde <---- 1
rojo <---- 2

ó
azul ----> 100
verde ----> 101
rojo ----> 111
ó
azul <---- 100
verde <---- 101
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
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.
13
DATOS DE TIPO ENTERO

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
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:



Representación con exceso o sesgada


Si el número es positivo: el valor absoluto del número en binario natural
Si es negativo: su complemento a 1 ó 2
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 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.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 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.
16
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



Se puede producir un error de truncamiento.
Un mismo número en punto fijo puede representar a muchos
números reales.



Dependerá de n y de m
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
17
formato
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
SignoM
SignoE
Mantisa
Exponente
Exponente
Exponente
→ Directo
Mantisa
→ Comparación rápida
SignoN Mantisa →
Precisión ampliada
19
COMA FLOTANTE

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 20
potencia de dos.
COMA FLOTANTE

Representación en simple precisión: Palabra de 32 bits.

Signo
 31
 1 bit
Exponente
30 23
8 bits
Mantisa
22 0
23 bits

Un ejemplo en C es el float
21
COMA FLOTANTE

Representación en doble precisión: 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 ARITMÉTICOS UTILIZABLES EN EL
LENGUAJE DE PROGRAMACIÓN
Tipo
Tipos
enteros
Tipos
reales
Nº de
bits
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
Coma flotante
Coma flotante doble
Coma flotante doble largo
32
64
80
C (COMPILADOR BORLAND C++ PARA PC)
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
Precisión
(dígitos
decimales)
3
3
3
5
5
*
*
10
10
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
0
1
2
3
4
5
6
7
8
9
Código I
0000
1000
0100
1100
0010
1010
0110
1110
0001
1001
Código II
00000
10001
01001
11000
00101
10100
01100
11101
00011
10010
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
AMERICAN STANDARD CODE FOR
INFORMATION INTERCHANGE
28
AMERICAN STANDARD CODE FOR
INFORMATION INTERCHANGE
29

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
.
30
31