02-c representación de datos

Anuncio
Representación de datos
Yussef Farrán Leiva
yfarran@udec.cl
referencias
• J. Glenn Brookshear, Introducción a las ciencias
de la computación, Addison-Wesley
Iberoamericana, 1995. (algunas de las figuras
mostradas han sido obtenidas del sitio web de
Pearson)
• Osvaldo Cairó, Metodología de la
Programación, Algoritmos, Diagramas de Flujo y
Programas, Tomo 1
Celdas de memoria ordenadas por
dirección
bit y byte
• bit: binary digit - digito binario (0 – 1)
• byte: agrupación de 8 bits
Organización de una celda de memoria
los símbolos del lenguaje
• Letras: a, b, c, d, ……, z, A, B, ……, Z
• Números decimales: 0, 1, 2, 3, 4, 5, 6, 7,
8, 9.
• Símbolos especiales: > < , ; . : -_ [ ] @ $ %
! ¡ “ # & / \ ( ) = ¿ ? y otros.
Representación de símbolos
• ASCII: American Standard Code for
Information Interchange
• EBCDIC: Extended BCD for Interchange
Code
• (BCD: Binary Coded Decimal)
Tabla ascii
Extensión ascii
Figure 1.13: The message “Hello.” in ASCII
Tipos de datos
• Forma como se interpretarán los patrones
de bits que representan a los datos
• y
• las operaciones que pueden efectuarse
con estos datos
Tipos de datos
• Fundamentales o primitivos
– Caracteres o no numéricos
– Números
• Enteros: long, short, int
• Reales: float, double
– Boolean
• Derivados o compuestos
– Estructuras de datos
• Internos: estáticos y dinámicos
• Externos: archivos, bases de datos
– Tipos de datos abstractos
multimediales
• Imágenes .bmp .gif .jpg
• Sonidos .wav .mid .mp3
• Videos .avi .mpg .
Proceso de digitalización
De: http://www.std.org/russ/FileTypes.html
• Digitalización
– De sonidos
– De imágenes fijas
– De imágenes en movimiento
• Sintetización
– De sonidos
• Volumen ocupado
– (cantidad de bytes ocupados)
– Para texto
– Para imagen
– Para video
– Para sonido
Datos numéricos
• Enteros y reales, operaciones aritméticas
• Enteros: pueden tener o no un signo
128
1835
-457 -23459 4385
• Reales: tienen una parte decimal o
fraccionaria
7,5 438,23
34000,0 8576,7
Datos alfanuméricos
• Operaciones de comparación
• Carácter simple
• Contiene un caracter letra o símbolo especial
• a=‘e’ b=‘4’ c=‘c’
• Cadena (de caracteres)
• Contiene varias caracteres letras o símbolos
• d=‘numeros’ s=‘12345’ kod= ‘d34ut89’
• a= ‘$34^fg’
Desborde u overflow
• Cantidad limitada de bits de cada patrón
• Ejemplo:
Patrón de 3 dígitos
base 10
Patrón de 4 dígitos
base 2
625
1010
+465
+1101
-------
-------
1090
10111
090
0111
Notación complemento a dos
sistema usual en procesadores actuales
Fracciones en binario
1
0
0
1
0
1
1 x un octavo = 1/8
1 x 2-3
0 x un cuarto = 0
0 x 2-2
1 x un medio = 1/2
1 x 2-1
0 x uno =
0
0 x 20
0 x dos =
0
0 x 21
1 x cuatro = 4
1 x 22
Total:
4 5/8
i= n −1
∑
i= − m
aix2
i
Almacenamiento de fracciones
• Notación de punto flotante
Fracciones ejemplo 1
00101011
0
0
1
0
1
0
1
1
: .1011
:
:
010
(2)
10.11
0 => positivo
2 3/4
Fracciones ejemplo 2
11111100
1
1
1
1
1
1
0
0
: .1100
:
:
111
(-1)
.01100
1 => negativo
-3/8
Errores en el redondeo
Resultado 2 ½
Errores en la comunicación
bit de paridad
Paridad ajustada a “impar”
rangos
enteros largo
signo
menor
mayor
short
Sin signo
0
65.535
Con signo
-32.768
+32.767
sin signo
0
4.294.967.295
con signo
-2.147.483.648
+2.147.483.647
long
2 bytes
4 bytes
rangos
flotante
4 bytes = 32 bits
mantisa
24 bits
exponente 8 bits
1 bit signo
23 bits valor
1 bit signo
7 bits valor
Precisión: depende de la mantisa, mayor valor es 2 23-1
Rango, depende del exponente :
2-128 = 2.9385 · 10-39 y 2127 = 1.7014 · 1038
rangos
Double
float
8 byte = 64 bits
mantisa
53 bits
1 para el signo y 52 para el valor
exponente
11 bits
1 para el signo y 10 para el valor
La precisión es : 252 = 4.503.599.627.370.496 (entre 15 y 16 cifras
decimales equivalentes)
El rango es de 21024 = 1.7977 · 10308
Nota: MatLab trabaja siempre en doble precisión o double float, de 64 bit
Descargar