Beruflich Dokumente
Kultur Dokumente
Representación Interna de la Información
Contenidos
1. Introducción
2. Sistemas de Numeración
1. Sistemas de numeración más usuales
2. Representación en base b
3
3. Representación en binario natural
4. Transformaciones entre bases decimal y binaria
3. Códigos
g de representación
p
1. Códigos de E/S: ASCII
2. Códigos intermedios: octal y hexadecimal
4. Representación
ió interna
i d la
de l información
i f ió
1. Introducción
2. Lógicos, caracteres y complejos
3. Enteros
4. Números reales: la notación IEEE 754
Objetivos
• Entender cómo se representa internamente la información en
un computador.
computador
• Comprender la relación entre la codificación externa e interna
de la información: distintos códigos.
• Conocer distintas bases de representación: decimal y binaria.
• Conocer los distintos tipos de representación interna para los
tipos de datos más habituales, incluyendo IEEE 754.
Bibliografía
g
• Prieto, Lloris y Torres. 3ª edición, Cap. 3.
• Zamarreño y cols.
1. Introducción
El ordenador procesa datos/información:
• Los datos con los que debe trabajar (entrada,
con q
qué trabaja)
j )
• Produce nuevos datos / información (salida, qué
produce)
Ser humano ⇔ Ordenador
• Instrucciones que forman el programa (indica
Código E/S ⇔ Rep. Interna
qué debe hacerse),
– Estos múltiplos
úl l (K, ( M, G, T, P)) también
b é se utilizan
l mara medir velocidad
l de
procesamiento del ordenador (Hz), pero en ese caso son del sistema decimal
decimal..
2. Sistemas de numeración
2.1. Sistemas de Numeración más usuales
• Sistemas de numeración aditivos (números romanos)
• Sistemas de numeración posicionales
2.2.
2 2 Representación en base b
Un sistema de numeración en base b utiliza b símbolos distintos de un
alfabeto B y el valor de cada número dependerá de la posición que ocupe
cada símbolo.
Por lo tanto, un número no será más que una secuencia de cifras (elegidas
entre los b símbolos posibles).
posibles)
Sistema de Numeración Decimal: b=10
• Símbolos permitidos, B= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Ejemplo:
1234,567/10= 1*103 + 2*102 + 3*101 + 4*100 + 5*10‐1 + 6*10‐2 + 7*10‐3
• Si generalizamos,
li para un número
ú N cualquiera:
l i
N = …+n4∙b4+ n3∙b3+ n2∙b2+ n1∙b1+ n0∙b0+ n‐1∙b‐1+ n‐2∙b‐2+… = ∑ni∙bi
2.3. Representación en binario natural
• Representación en base dos o binario,
binario b=2
– En este sistema de numeración sólo se usan dos elementos para
representar cualquier número B= {0, 1}.
– Estos elementos del alfabeto se denominan cifras binarias o bits.
Ejemplo: Tabla de números en binario del 0 al 7 (con tres bits).
Simplemente hay que sumar los pesos de las posiciones en las que hay un uno.
• A mitad de camino entre α y β están los códigos intermedios, que son más
fácilmente entendibles para el ser humano que la representación interna,
pero que están más próximos a ésta que los códigos de E/S.
– Generalmente los códigos de E/S se presentan mediante algún código
intermedio.
intermedio
– Es inmediato pasar de los códigos intermedios a β, que será algún tipo
de representación binaria.
– Las representaciones intermedias utilizan bases potencias de 2: 8
(código octal) ó 16 (código hexadecimal).
¿ Cuántos bits son necesarios para representar los símbolos de un alfabeto?
{ b A B Z 0 9 ( ) [ ]} Æ {0,1}
{a, b,…,z, A, B,…, Z, 0,…, 9,(,),…,[,]} Æ {0 1}n
α Æβ
• Para cada alfabeto tenemos: |α|
Para cada alfabeto tenemos: |α| = m y para un n
m y para un n dado tenemos |β| 2n .
dado tenemos |β| = 2
• En general, m ≠ 2n, pero necesitamos representar todos los caracteres, m:
por lo tanto hay que exigir que m ≤ 2n
• Buscaremos el menor n entero que verifique: n ≥ log2m = 3,32 log m
Por ejemplo:
– ¿cuántos bits necesitamos para representar el código octal?
|α| = 8 Æ n ≥ log2 8 = 3
– ¿Y el código hexadecimal?
|α| =16 Æ n ≥ log2 16 = 4
– ¿Y para un código cualquiera con 10 símbolos?
|α| =10 Æ n ≥ log2 10 = 3,32 log 10 = 3,32
El menor entero que lo verifica, n ≥ 3,32, es n = 4
Obviamente, si 2n > m, hay combinaciones de bits que no se usan.
3.2.1. Código octal
• b = 8 = 23
• B = {0, 1, 2, 3, 4, 5, 6, 7}
• ¿Cuántos bits son necesarios para representar 8 caracteres distintos? 3
• Ejemplos:
– 71/8 es un número octal válido = 57/10
– 87/8 no es un número octal válido,, ¿por
p q qué?
3.2.2. Código
g hexadecimal
• b = 16 = 24
• B = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
• ¿C á t bits
¿Cuántos bit son necesarios i para representar t 16 caracteres
t di ti t ? 4
distintos?
• Ejemplos: ¿cuáles de estos números son válidos en hexadecimal y si lo son cuál es
su equivalente decimal?
– 1A/H
– F3/H
– G2/H
– CBA/H
– ACB/H
Equivalencias
Número Número Número Equivalente Número Equivalente
octal binario Hexadecimal decimal Hexadecimal decimal
0 000 0000 0 1000 8
1 001 0001 1 1001 9
2 010 0010 2 1010 A
3 011 0011 3 1011 B
4 100 0100 4 1100 C
5 101 0101 5 1101 D
6 110 0110 6 1110 E
7 111 0111 7 1111 F
4.Representación Interna de la Información
4.1. Introducción
Hemos visto los códigos
g de E/S,
/ ,ppero esta representación
p no es eficiente dentro
del ordenador.
– ¿Cómo se almacena internamente la información?
Anticipo (se
( trataráá en más
á profundidad
f d d d en ell tema siguiente)) :
• la información se agrupa internamente (en la ALU y en la CPU) en función
de la longitud
g de p
palabra ((número de bits)) q
que p
procese el ordenador (p
(por
unidad de tiempo).
• El tamaño del código de representación interna será un múltiplo de la
longitud de palabra,
palabra que suele ser de 8,
8 16,
16 32 ó 64 bits.
bits
• Los distintos tipos de datos que se pueden almacenar en un ordenador
tendrán distintas representaciones. El objetivo es agilizar los cálculos, ya
que si se almacenasen directamente mediante su código de E/S se
perdería la representación posicional de los números.
4.2. Lógicos, caracteres y complejos
E llos lenguajes
En l j ded programación ió suelel haber
h b distintos
di ti t tipos
ti d datos
de d t
básicos: enteros, reales, caracteres, lógicos, y/o complejos. Estos dos
últimos suelen representarse en función de los dos primeros.
Ca acte es Se representa
Caracteres: ep ese ta su cód
código
go de E/S
/S ((ASCII)
S )d directamente
ecta e te sob
sobree
palabras del ordenador.
Un conjunto de caracteres ocupará una colección de palabras
consecutivas en la memoria (se puede representar más de un
carácter por palabra).
– E ha de ser entero,
– B=2 siempre, por lo tanto se puede omitir
– Sólo es necesario almacenar M y E con sus respectivos signos
s e m
n nm ne S Emin Emax
Simple 32 23 8 127 ‐126 127
D bl
Doble 64 52 11 1023 ‐1022
1022 1023