Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Representación Interna de Los Datos
Representación Interna de Los Datos
Esquema:
1.- Introducción
3.2. Complemento a 2
3.3. Complemento a 1
3.4. Exceso a M (o Sesgada)
3.5. BCD
8.- Conclusiones
9.- Bibliografía
1. INTRODUCCIÓN
Para todas ellas asumiremos por comodidad que el número de bits dis-
ponibles para representar el número es ocho (lo que da un rango de
[0..255] para la representación de los naturales del apartado anterior),
aunque hay que tener presente, como se ha dicho antes, que los orde-
nadores actuales utilizan un ancho mucho mayor.
Es la solución más evidente: consiste en utilizar uno de los bits del nú-
mero, en concreto el bit más significativo (el de la izquierda) para repre-
sentar el signo. Al interpretar el número, se utiliza ese bit para establecer
si es un número positivo o negativo.
-1b 64 32 16 8 4 2 1 Valor Suma de bits a uno
01011000= 0 1 0 1 1 0 0 0 88 =64 + 16 + 8
10100111= 1 0 1 0 0 1 1 1 39 =-1*(32 + 4 + 2 + 1)
00000000= 0 0 0 0 0 0 0 0 0 =0
-127 =-1*(64 + 32 + 16 + 8+ 4
11111111= 1 1 1 1 1 1 1 1
+ 2 + 1)
10000000= 1 0 0 0 0 0 0 0 0 =-1*0
127 =64 + 32 + 16 + 8 + 4 +
01111111= 0 1 1 1 1 1 1 1
2+1
expresarse tanto con “+0” como con “-0”. Esto complicará la implemen-
tación de las operaciones aritméticas, como veremos a continuación.
Además, también hace que se desaproveche una codificación de todas
las posibles, ya que, aunque con 8 bits existen 256 posibles combina-
ciones, este sistema es capaz de almacenar únicamente 255 valores.
La representación magnitud y signo es la más cercana a la forma que
tenemos nosotros de representar los números, ya que el signo positivo
(que normalmente omitimos al escribir) viene representado por el bit de
signo a 0, y el signo negativo por el bit a 1. Sin embargo, a la hora de
realizar una operación como la suma, tiene una serie de inconvenientes.
Aunque no somos conscientes de ello, cuando sumamos debemos
hacer previamente una comparación del signo de ambos sumandos, y a
veces también una comparación de sus valores absolutos. Veamos to-
dos los casos que surgen al realizar la operación S = A + B, con más de-
talle:
00000000= 0 0 0 0 0 0 0 0 0=0
-1
=-128 + 64 + 32 + 16 +
11111111= 1 1 1 1 1 1 1 1
8+ 4 + 2 + 1
10000000= 1 0 0 0 0 0 0 0 -128 =-128
127 =64 + 32 + 16 + 8 + 4 +
01111111= 0 1 1 1 1 1 1 1
2+1
El rango de representación es [-128..127] o en general [-2n-1..2n-1-1], lo
que significa que la representación no es simétrica (permite más núme-
ros negativos que positivos); además, la conversión de un número a su
opuesto es costosa, ya que es un proceso eminentemente secuencial, al
contrario que en magnitud y signo en que únicamente hay que cambiar
un bit. Una ventaja del complemento a 2 es que no existen dos repre-
sentaciones para el número cero. Sin embargo, la ventaja principal es la
facilidad de implementación de las operaciones aritméticas.
3.3. Complemento a 1
3.5. BCD
La representación BCD (o Binario Codificado en Decimal), se basa en la
representación en decimal del número. Utiliza bloques de cuatro bits ca-
da uno de ellos representando un dígito decimal. Dado que con cuatro
bits hay 16 combinaciones posibles, se pierden 6.
La codificación de cada dígito depende del tipo de BCD (hay muchos y
muy variados), pero lo normal es representar el valor binario del dígito
utilizando los cuatro bits. Esto genera las codificaciones siguientes:
Precisión Precisión
simple doble
Totales 32 64
Signo 1 1
Bits
Exponente 8 11
Mantisa 23 52
(2-2 )·2127 ≅
-23 -52 1023
2-2 ·2 ≅
Mayor
3’4·1038 1’8·10 308
Positivos
1’0·2-126 ≅ 1’0·2-1022 ≅
Menor
1’2·10-38 1’2·10-308
Rango -1’0·2-126 ≅ -1’0·2-1022 ≅
Mayor
-1’2·10-38 -1’2·10-308
Negativos -(2-2-23·2127) -(2-2-52)·21023
Menor ≅ -3’4·1038 ≅
-1’8·10308
5. REPRESENTACIÓN DE CARACTERES
Esto hace difícil el intercambio de datos, ya que cada extremo puede es-
tar utilizando páginas de códigos distintas. Para evitar esta confusión,
posteriormente han ido apareciendo otras codificaciones que aglutinan
todas estas páginas de códigos en una única representación, utilizando
un mayor número de bits para cada carácter.
6. REPRESENTACIÓN DE IMÁGENES
Cuando se quiere almacenar una imagen en un ordenador, existen bási-
camente dos aproximaciones distintas: la representación de mapa de
bits y la representación vectorial.
Antes de entrar en cada una de ellas, hay que decir que ambas necesi-
tan expresar de alguna forma los colores de los elementos que contie-
nen. Existen diversas codificaciones posibles que limitan el número de
colores disponibles en una imagen. Por ejemplo, existen representacio-
nes monocromas, que utilizan un único bit para expresar el color, existen
escalas de 256 grises, codificaciones basadas en una paleta de 16 o
256 colores, o representaciones que permiten millones de colores posi-
bles.
Dicho esto, las imágenes con mapas de bits se basan dividir la imagen
en una matriz de puntos o píxeles (picture elements) cada uno de ellos
de un color distinto. El número de puntos de ancho y alto determinan la
resolución de la imagen; a mayor resolución más detalle. Los mapas de
bits son la representación más cercana a la forma de funcionamiento de
los monitores actuales. Cuando se hace zoom sobre una imagen repre-
sentada como mapa de bits, se comprueba que los píxeles que al princi-
pio eran inapreciables van ganando en tamaño, haciéndose perfecta-
mente perceptibles.
Los mapas de bits son la representación de imágenes por excelencia en
el campo de la fotografía digital, que consiste en una discretización de
una imagen continua en una matriz de puntos de un tamaño determina-
do y cuyas celdas contienen a su vez una discretización del color en un
conjunto de valores dependientes de la representación elegida.
PREPARADORES DE OPOSICIONES PARA LA ENSEÑANZA C/ Génova, 7 – 2º • 28004 Madrid Tel.: 91 308 00 32
SIST. Y APLI. INFORMÁTICAS Representación interna de los datos • 16
esa sección. También, aunque de una forma un poco distinta, esta re-
presentación era utilizada hace algún tiempo por ciertos juegos para re-
presentar terrenos utilizando.
7. REPRESENTACIÓN DE SONIDOS
También existen dos filosofías distintas de representar el sonido; si in-
terpretamos los sonidos como señales cuya intensidad cambia con el
tiempo, estaremos usando muestreos de señales y representación de
niveles, mientras que si vemos los sonidos como música y eventos, es-
taremos dentro del mundo MIDI.
La primera aproximación consiste en muestrear o discretizar una señal
contínua que representa el sonido en una serie de muestras (discretas)
separadas por un tiempo constante y cuyos niveles de intensidad tam-
bién se discretizan. La frecuencia de muestreo establece el número de
muestras (o samples) por segundo que son reproducidos, y el número
de distintos niveles de intensidad de cada muestra viene determinado
por el número de bits por sample utilizados. Por poner un ejemplo, la ca-
lidad de un CD utiliza dos canales distintos (para el sonido estéreo), con
44100 muestras por segundo y 16 bits de precisión por muestra. La re-
presentación por muestreo es a los sonidos lo que los mapas de bits es
a las imágenes.
Existen numerosos formatos de fichero que almacenan los sonidos así
representados, cada uno de ellos con distintos niveles de compresión y
calidad. Los más conocidos son WAV, MP3 y OGG.
La otra aproximación para almacenar música no tiene en cuenta la natu-
raleza de los sonidos como una señal, sino la forma de generar esa mú-
sica. En particular, los músicos han utilizado durante siglos las partituras
como medio para indicar cómo una melodía debe ser tocada. Los siste-
mas de representación basados en eventos, almacenan en qué instan-
tes debe tocarse cada una de las notas musicales, indicando su dura-
ción, intensidad y altura. Además, cada una de estas notas lleva asocia-
do qué tipo de instrumento es el que debe reproducirla.
PREPARADORES DE OPOSICIONES PARA LA ENSEÑANZA C/ Génova, 7 – 2º • 28004 Madrid Tel.: 91 308 00 32
SIST. Y APLI. INFORMÁTICAS Representación interna de los datos • 18
8. CONCLUSIONES
El tema se divide claramente en dos partes: la representación interna de
los tipos de datos básicos, a saber naturales, enteros, reales y caracte-
res, y una segunda parte con un ligero esbozo de la representación de
datos más abstractos como imágenes y sonidos.
Una vez que se sube al nivel de programación usando lenguajes de alto
nivel, parece que la representación interna de los datos vistos en la pri-
mera parte del tema pierde importancia, ya que todos esos datos son
gestionados internamente por el compilador y en último extremo la CPU.
Sin embargo, es necesario conocer cuales son los límites de esos tipos
de datos, cuales son sus rangos y cómo reaccionan ante operaciones
como redondeos, aunque sólo sea para tener la certeza de que los valo-
res que se quieren almacenar entran dentro del rango de la representa-
ción. Hay numerosos ejemplos de grandes pérdidas de dinero por pro-
yectos fallidos debido a infravalorar la importancia de este hecho y que
para los medios de comunicación quedan ocultos bajo la típica frase
“explosión debida a un fallo software”.
Por otra parte, el conocimiento de las filosofías de representación tanto
de imágenes como de sonidos es importante a la hora de decidirnos por
unos tipos de representaciones u otras, y para entender por qué un fi-
chero MIDI ocupa tan poco conteniendo tantos minutos de música, pero
nunca se podrá hacer un conversor general de WAV a MIDI.
PREPARADORES DE OPOSICIONES PARA LA ENSEÑANZA C/ Génova, 7 – 2º • 28004 Madrid Tel.: 91 308 00 32
SIST. Y APLI. INFORMÁTICAS Representación interna de los datos • 19
9. BIBLIOGRAFÍA
NOTAS
REV.: 06/05