Anda di halaman 1dari 35

Introducción a la Arquitectura de Sistemas

Apuntes de Cátedra

Hugo J. Curti

3 de mayo de 2009
Resumen

Este apunte presenta un resumen de los temas estudiados en la materia Introducción a la Ar-
quitectura de Sistemas y tiene como objetivo introducir al alumno a cada uno de los conceptos
fundamentales. En su carácter de resumen no debe tomarse como única fuente de estudio, sino
como una lectura previa a abordar la vasta bibliografía disponible sobre el tema.
Índice general

1. Representación de números 6
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2. Sistemas posicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1. Sistema decimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2. Sistema binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3. Sistemas Octal y Hexadecimal . . . . . . . . . . . . . . . . . . . . . . 10
1.2.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3. Números Naturales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Números Enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.1. Signo valor absoluto . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.2. Complemento a uno . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.3. Complemento a la base . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.4. Cero desplazado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5. Números Reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1. Precisión, avance, error absoluto y error relativo . . . . . . . . . . . . . 21
1.5.2. Representaciones de coma fija . . . . . . . . . . . . . . . . . . . . . . 21
1.5.3. Representaciones de coma flotante . . . . . . . . . . . . . . . . . . . . 22
1.5.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2. Representación de Información 25
2.1. Caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.1. Código ISO 646 o ASCII . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.2. Códigos ISO 8859 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.3. Códigos ISO 10646, UCS y UNICODE . . . . . . . . . . . . . . . . . 27
2.1.4. Código UTF-8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2. Imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1. Raster o mapa de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2. Formatos Vectorizados . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2
ÍNDICE GENERAL ÍNDICE GENERAL

2.3. Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.1. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3
Índice de cuadros

1.1. Representaciones binarias de los números enteros del 0 al 15. . . . . . . . . . . 8


1.2. Multiplicadores de unidades binarias aplicados al byte. . . . . . . . . . . . . . 9

2.1. Representación ASCII de caracteres. . . . . . . . . . . . . . . . . . . . . . . 26


2.2. Representación ISO 8859-1 de caracteres (parte alta). . . . . . . . . . . . . . . 26
2.3. Lista de variantes del ISO 8859 . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4
Índice de figuras

1.1. Aplicación del método de las divisiones/multiplicaciones sucesivas. . . . . . . 9


1.2. Ejemplo de suma y resta en binario. . . . . . . . . . . . . . . . . . . . . . . . 10
1.3. Ejemplo de multiplicación y división en binario. . . . . . . . . . . . . . . . . . 10
1.5. Demostración de la conversión por agrupamiento. . . . . . . . . . . . . . . . . 11
1.4. Ejemplo de conversión por agrupamiento de binario a hexadecimal/octal. . . . 11
1.6. Distribución del espacio de representación en complemento a uno. . . . . . . . 14
1.7. Cálculos de corrección de operaciones aritméticas en complemento a uno. . . . 15
1.8. Distribución del espacio de representación en complemento a la base. . . . . . 16
1.9. Distribución del espacio de representación en cero desplazado con frontera
equilibrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.10. Representación de coma flotante utilizada por el sistema IBM 360 . . . . . . . 23
1.11. Representación de coma flotante utilizada por el sistema PDP/11 . . . . . . . . 23

2.1. Mapa de bits junto con un ejemplo de codificación binaria y hexadecimal. . . . 30


2.2. Ejemplo de representación de una imagen en formato vectorizado. . . . . . . . 31
2.3. Digitalización de una señal de sonido mediante la toma de muestras. . . . . . . 32
2.4. Reconstrucción de una señal a partir de sus muestras. . . . . . . . . . . . . . . 33

5
Capítulo 1

Representación de números y cantidades

Este capítulo fue escrito a partir mesa hay tres manzanas” se está representan-
del apunte [Sut98], y cubre la prime- do la cantidad, un concepto abstracto, con una
ra unidad de la materia sobre repre- palabra o símbolo previamente convenido (en
sentación de números y cantidades. este caso la palabra “tres” o el símbolo “3”)
[Sut98, Des02, Tan99, PLT99] La razón por la cual se utiliza la base diez
parece ser arbitraria: se cree que es porque el
ser humano posee diez dedos en sus manos, y
1.1. Introducción los antiguos utilizaban los dedos para contar.
De la misma forma, el desarrollo de la electró-
La habilidad para contar, cuantificar y re- nica digital impuso una nueva arbitrariedad. El
presentar números y cantidades es uno de los componente fundamental con el cual se cons-
pilares de la inteligencia humana. Tal es así truye una máquina digital moderna se denomi-
que a lo largo de la historia civilizaciones en- na transistor, y funciona “permitiendo” o “no
teras han dificultado o detenido su desarrollo permitiendo” el paso de la corriente1 , dando
científico/tecnológico debido a que no conta- lugar a dos (en lugar de diez) estados o sím-
ban con un buen sistema de representación de bolos con los cuales dichas máquinas pueden
cantidades. En este capítulo se estudiarán di- contar. Esto trae grandes consecuencias, algu-
ferentes formas de representar números según nas de las cuales se enumeran a continuación:
sus características de una manera adecuada pa-
ra las máquinas digitales.. Se adopta la base dos o binaria para re-
Antes de comenzar el estudio es menester presentar números y cantidades, utilizan-
hacer una distinción de conceptos. Una cosa do la ausencia de corriente para represen-
es la cantidad representada y otra diferente es tar el cero y la presencia de la misma pa-
la simbología utilizada para la representación ra representar el uno, y bases potencia de
de la misma. La dificultad en comprender es- dos, como la base ocho u octal y la ba-
ta diferencia radica en que para entender una se dieciséis o hexadecimal, para facilitar
cantidad la mente humana utiliza una forma de 1 Esto es en realidad una simplificación. El funcio-
representación intrínsecamente, que en nues- namiento del transistor está fuera del alcance de este
tro caso particular es el sistema posicional en apunte y de esta materia, y se estudiará en detalle en
base diez, o decimal. Cuando se dice “en esa una materia posterior.

6
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.2. SISTEMAS POSICIONALES

la comprensión humana de los números sentado puede calcularse utilizando la ecua-


binarios. ción 1.1, donde N es la cantidad representa-
da, n es la cantidad de cifras a la izquierda de
Se posee una cantidad limitada de uni- la coma raíz (parte entera), d es la cantidad
dades de almacenamiento, con lo cual de cifras a la derecha de la coma raíz (parte
las cantidades que se pueden representar fraccionaria), b es la base de representación,
también están limitadas. y C = {ci − d ≤ i < n} es el conjunto de las
cifras que conforman el número ordenadas por
Solamente se pueden representar ceros y su peso (o posición relativa a la coma, positi-
unos, con lo cual cualquier otro símbolo va empezando de cero a izquierda y negativa a
(como la coma raíz o el signo negativo) derecha).
debe ser codificado de manera represen-
table con estos símbolos. n−1
N = ∑ ci bi (1.1)
Para poder representar los números se requie- i=−d
re por lo tanto crear un Sistema de Represen-
tación, que puede definirse como un conjunto
de símbolos y reglas que se utilizan para la re-
1.2.1. Sistema decimal
presentación de cantidades y un conjunto de Como ya se ha mencionado, el sistema deci-
operaciones asociadas a los mismos. mal es el más utilizado, y debido a esto algu-
nas cosas adquieren nombres que se utilizan
exclusivamente para este sistema, y no deben
1.2. Sistemas posicionales de generalizarse para todos los sistemas posicio-
representación nales. Algunas de estas cosas son las siguien-
tes:
Los sistemas posicionales permiten repre-
sentar números Reales. Poseen tantos símbo- A la coma raíz se le llama coma decimal.
los como indique su base para representar las
cifras, un signo, y una coma raíz2 para separar
A la parte fraccionaria se le llama parte
la parte entera de la parte fraccionaria. Se de-
decimal y a sus componentes decimales.
nominan posicionales porque una misma cifra
tiene distinto valor de acuerdo a su posición
A la cifra de peso 0 se le llama unidad,
relativa dentro del número.
a la de peso 1 se le llama decena, a la de
La ausencia del signo en un número impli-
peso 2 se le llama centena, a la de peso 3
ca que su valor es positivo, y la ausencia de
se le llama unidad de mil, y así sucesiva-
coma indica un valor entero3 . El valor repre-
mente.
2
En otros países (fundamentalmente de origen Sajón
como Estados Unidos o Inglaterra) se utiliza el punto.
En Argentina se utiliza la coma. Las ecuaciones 1.2 muestran ejemplos de re-
3
Se puede asumir que la coma esta a la derecha del presentaciones decimales aplicando la ecua-
número, y su parte fraccionaria vale cero. ción 1.1.

7
1.2. SISTEMAS POSICIONALES CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

d bin d bin inglesa “binary digit”. El bit también se utili-


0 0b 8 1000b za como unidad para medir el espacio ocupa-
1 1b 9 1001b do por la información. En este contexto, una
2 10b 10 1010b celda de memoria de un bit es aquella que es
3 11b 11 1011b capaz de almacenar dos estados. Un ejemplo
4 100b 12 1100b común de tal celda es un interruptor de luz.
5 101b 13 1101b
6 110b 14 1110b El cuarteto
7 111b 15 1111b
Dado que el bit es una unidad muy pequeña
Cuadro 1.1: Representaciones binarias de los habitualmente no se utiliza por sí misma, sino
números enteros del 0 al 15. agrupada. De esta forma, se le llama cuarteto o
nibble a un conjunto de cuatro bits. Una celda
de memoria de un cuarteto puede almacenar
24 = 16 estados, y por lo tanto contar desde 0
3
1234 = 1 × 10 + 2 × 10 + 2
hasta 15.
3 × 101 + 4 × 100
(1.2)
31, 25 = 3 × 101 + 1 × 100 +
El byte
2 × 10−1 + 5 × 10−2
El byte es la unidad binaria más utilizada y
conocida. Equivale a un conjunto de ocho bits.
1.2.2. Sistema binario
Por lo tanto una celda de memoria de un byte
El sistema binario o de base dos es el adop- permite almacenar 28 = 256 estados y contar
tado naturalmente para representar números desde 0 hasta 255.
en las máquinas digitales debido a las razo-
nes explicadas en la sección 1.1. Debido a que Los multiplicadores de las unidades bina-
la base es pequeña muchas cifras son necesa- rias
rias para representar cantidades relativamente
pequeñas. La tabla 1.1 muestra algunas repre- Para las unidades binarias se pueden utilizar
sentaciones binarias. Puede notarse en la tabla los mismos multiplicadores que para las uni-
el sufijo b en todos los números binarios. Esta dades decimales. Sin embargo, debe tenerse en
convención será utilizada en lo sucesivo en es- cuenta que el factor de multiplicación es 1024
te apunte para evitar ambigüedades en las re- en lugar de 1000. La razón de este cambio es
presentaciones. La ausencia de sufijo siempre que 210 = 1024, o sea que 1024 se represen-
indica que el número está representado en de- ta con un uno seguido de diez ceros, y por lo
cimal. tanto forma un número “redondo” en binario,
de la misma forma en que 1000 es un número
“redondo” en decimal.4 La tabla 1.2 muestra
El bit
4 Esta diferencia suele causar confusión. En algunos
A la cifra binaria se la denomina común- ámbitos (fundamentalmente en el de los fabricantes de
mente bit, que es la contracción de la frase discos rígidos) se considera que el factor de multipli-

8
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.2. SISTEMAS POSICIONALES

Unidad Equiv. Bytes


kilobyte (Kb) 1024 b 10
2 = 1,024
megabyte (Mb) 1024 Kb 20
2 = 1,048,576
gigabyte (Gb) 1024 Mb 30
2 = 1,073,741,824
terabyte (Tb) 1024 Gb 40
2 = 1,099,511,627,776
petabyte (Pb) 1024 Tb 250 = 1,125,899,906,842,624
exabyte (Eb) 1024 Pb 260 = 1,152,921,504,606,846,976
zetabyte (Zb) 1024 Eb 270 = 1,180,591,620,717,411,303,424
yottabyte (Yb) 1024 Zb 280 = 1,208,925,819,614,629,174,706,176
Cuadro 1.2: Multiplicadores de unidades binarias aplicados al byte.

los multiplicadores binarios aplicados al byte. Parte entera: Parte Fraccionaria:


6 2 0,6875 x 2 = 1,375
Conversión de binario a decimal 0 3 2 0,375 x 2 = 0,75 1011
La conversión de binario a decimal pue- 1 1 0,75 x 2 = 1,5
de hacerse directamente aplicando la ecua- 0,5 x 2 = 1
ción 1.1. En la ecuación 1.3 pueden verse un 110
par de ejemplos. 6,6875=110,1011b

1101b = 1 × 23 + 1 × 22 Figura 1.1: Aplicación del método de las divi-


= +0 × 21 + 1 × 20 = 13 siones/multiplicaciones sucesivas.
10, 01b = 1
1×2 +0×2 0

= +0 × 2−1 + 1 × 2−2 = 2, 25
(1.3)
sucesivas divisiones5 en sentido inverso. En la
parte fraccionaria se deben hacer las sucesivas
Conversión de decimal a binario multiplicaciones siempre con la parte fraccio-
Para convertir de decimal a binario, o en ge- naria del resultado de la operación anterior, y
neral de decimal a cualquier base, se debe fac- se debe detener el proceso cuando no haya más
torizar el número según los diferentes pesos. parte fraccionaria, cuando se detecte una pe-
6
Una forma sencilla de lograr esto es por el mé- riodicidad o cuando se alcance la precisión
todo de las divisiones/multiplicaciones sucesi- deseada, descartando el resto.
vas. La figura 1.1 muestra un ejemplo de co-
mo aplicar este método. Debe observarse que
la parte entera puede leerse de los restos de las
5 La
ultima división, que debería dar 0 como cocien-
cación es 1000. En este apunte los múltiplos binarios te, fue suprimida.
6
siempre utilizan 1024 a menos que se indique otra cosa Debe tenerse presente que un número que en deci-
en algún caso particular. mal es periódico podría no serlo en binario, y viceversa.

9
1.2. SISTEMAS POSICIONALES CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

0 1 10 ciarse que el método a seguir es similar al uti-


111 0 10
lizado para realizar estas mismas operaciones
1101,01 1 1 0 1 , 0 1b
+ 1011,10b − 1011,10 manualmente en decimal.
b b
1 1000,11b 0 0 0 1 , 1 1b 1.2.3. Sistemas Octal y Hexadeci-
Acarreo
mal
Figura 1.2: Ejemplo de suma y resta en bina- La legibilidad de los números en binario es
rio. muy dificultosa para el ser humano debido a la
1101,01 b 1000010,01b 101 b cantidad de cifras que se necesitan para repre-
− sentar una cantidad. Debido a esto se suelen
x 101 b 101 1101,01b utilizar los sistemas octal (base ocho) y hexa-
1101,01 0110 decimal (base dieciséis) para representar nú-

00000,0 101 meros binarios. Para el sistema octal se uti-
110101, 00110 lizan los primeros ocho símbolos del sistema

101 decimal, del 0 al 7. Para el sistema hexade-
1000010,01b
cimal, donde se necesitan dieciséis símbolos,
00101
− se utilizan los diez símbolos del sistema de-
101 cimal y se agregan las letras de la A hasta
0 la F a modo de seis símbolos más, de modo
que 0h = 0, 1h = 1, . . . , 9h = 9, Ah = 10, Bh =
Figura 1.3: Ejemplo de multiplicación y divi- 11, . . . , Fh = 15.
sión en binario. Debido a que ocho y dieciséis son potencias
de dos, una cifra octal representa exactamen-
te tres cifras binarias, y una cifra hexadecimal
Operaciones aritméticas en binario
exactamente cuatro cifras binarias. Esto faci-
Para realizar sumas o restas en binario se lita por un lado la lectura de los números de-
puede utilizar el mismo método utilizado en bido a que hay menos cifras para representar
decimal. La figura 1.2 muestra un ejemplo de la misma cantidad, y a su vez la conversión
suma y un ejemplo de resta de dos números desde y hacia binario se hace linealmente y
binarios. Puede observarse en la suma que la por agrupamiento, sin necesidad de operacio-
última cifra queda superada, debiéndose por lo nes de multiplicación o división. La figura 1.4
tanto agregar una cifra más al número. A esta muestra ejemplos de conversión por agrupa-
cifra se la denomina acarreo en las sumas. En miento. Obsérvese especialmente la forma en
las restas, un fenómeno parecido se produce que se completa con ceros el número sin alte-
cuando el sustraendo es mayor que el minuen- rar su valor para conseguir las cifras hexade-
do, indicando que el resultado es negativo. A cimales u octales enteras. La figura 1.5 mues-
esta cifra se la denomina arrastre en las restas. tra la demostración matemática de este méto-
La figura 1.3 muestra un ejemplo de multi- do para convertir nueve cifras binarias a tres
plicación y otro de división donde puede apre- cifras octales, que puede ser extendida por in-

10
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.2. SISTEMAS POSICIONALES

N = b8 28 + b7 27 + b6 26 + b5 25 + b4 24 + b3 23 + b2 22 + b1 21 + b0 20
  
N = b8 22 + b7 21 + b6 20 26 + b5 22 + b4 21 + b3 20 23 + b2 22 + b1 21 + b0 20 20
  
N = b8 22 + b7 21 + b6 20 82 + b5 22 + b4 21 + b3 20 81 + b2 22 + b1 21 + b0 20 80
N = o2 82 + o1 81 + o0 80
oi = b(3i+2) 22 + b(3i+1) 21 + b(3i) 20 0 ≤ i < no

Figura 1.5: Demostración de la conversión por agrupamiento.

1.2.4. Ejercicios
0001001001001010,10 00
1 2 4 A 8 1. Comprobar que las operaciones realiza-
das en las figuras 1.2 y 1.3 están correc-
1001001001010,10b =124A,8 h
tamente realizadas pasando los valores de
los operandos y el resultado de cada una
001001001001010,10 0 a decimal.
1 1 1 1 2 4
1001001001010,10b=11112,4o 2. Calcule la representación binaria del año
corriente utilizando el método de las di-
Figura 1.4: Ejemplo de conversión por agru- visiones sucesivas. ¿Cuántas cifras serán
pamiento de binario a hexadecimal/octal. necesarias? Utilice el mismo método pa-
ra calcular la representación hexadecimal
del mismo año. ¿Cuántas cifras serán ne-
cesarias?
ducción a cualquier cantidad de cifras. Obsér-
vese que los coeficientes oi del número octal
se calculan directamente a partir los tres coefi- 3. Realizar las operaciones de las figuras 1.2
cientes binarios correspondientes, interpretán- y 1.3 en hexadecimal, pasando primero
dolos como un número aislado. los operandos de cada una a dicha base,
La conversión desde y hacia decimal, así co- realizando la operación y pasando el re-
mo las operaciones aritméticas pueden hacer- sultado de vuelta a binario para compro-
se de la misma forma que las binarias expli- bar su correctitud.
cadas en las sección 1.2.2, página 9. Para las
multiplicaciones de las cifras en hexadecimal
es conveniente convertirlas a decimal, hacer la 4. Realizar una demostración similar a la de
multiplicación y volver a convertir a hexade- la figura 1.5 convirtiendo doce cifras bi-
cimal, dado que el aprendizaje de las tablas de narias (ocho enteras y cuatro fracciona-
multiplicar en hexadecimal es muy costoso. rias) en tres cifras hexadecimales.

11
1.3. NÚMEROS NATURALES CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

1.3. Representación de nú- ro, mientras que la celda de memoria tie-


ne una cantidad fija de cifras.
meros naturales en má-
quinas digitales Este problema se soluciona fácilmente
cuando la cantidad de cifras de la repre-
Los sistemas posicionales hasta ahora estu- sentación es menor que el tamaño de la
diados permiten representar números positivos celda de memoria, dado que las cifras no
y negativos, tanto enteros como fraccionarios usadas se dejan a la izquierda y con valor
y con un rango y precisión ilimitada. Para au- cero. Sin embargo, cuando la cantidad de
mentar el rango basta con agregar más cifras cifras de la representación es mayor que
a la parte entera, y para aumentar la precisión el tamaño de la celda, el número no se
basta con agregar más cifras a la parte fraccio- puede representar en esa celda. Cuando
naria. Para representar números negativos se se intenta almacenar un número en una
puede agregar el signo adelante. celda que no lo puede contener se produ-
Las máquinas digitales modernas se basan, ce un fenómeno conocido como rebalse
como ya se mencionó más arriba, en un com- (u overflow en inglés). El rebalse será es-
ponente denominado transistor que permite o tudiado en detalle más adelante.
no permite el paso de la corriente. Utilizando
este componente se construye la denominada 2. Dado que solamente se poseen dos sím-
unidad básica de memoria. Dicha unidad pue- bolos, no existe manera natural de repre-
de ser programada o escrita con un valor de sentar el signo de un número, así como
tensión alto, o con un valor de tensión bajo. tampoco existe manera natural de repre-
Posteriormente la misma celda puede ser con- sentar la coma raíz.
sultada o leída para obtener el mismo valor de
tensión previamente escrito. Si se utiliza, por
ejemplo, el nivel de tensión alto para represen- Como corolario se puede decir que la repre-
tar el 1 y el nivel bajo para representar el 0, sentación binaria de un número se puede al-
entonces esta unidad de memoria puede alma- macenar en una celda de memoria siempre y
cenar un bit. Agrupando ocho unidades bási- cuando el número sea natural7 y la cantidad
cas de memoria se puede hacer lo que a partir de cifras que se necesiten para representarlo
de ahora se denominará una celda de memoria sea menor o igual a la cantidad de unidades
de un byte, dado que permite almacenar ocho que posea la celda de memoria. El rango que
bits. se puede representar es R = [0 , 2n − 1] dan-
Se puede concluir que una celda de memo- do un total de 2n representaciones, donde n es
ria puede utilizarse para almacenar la repre- el tamaño de la celda de memoria. Por ejem-
sentación binaria de un número, sin embargo plo, una celda de memoria de 16 bits puede
se deben analizar algunas diferencias entre una almacenar 216 = 65536 representaciones dife-
celda de memoria y el sistema binario puro: rentes, permitiendo un rango R = [0 , 65535].

1. En los sistemas binarios la cantidad de ci- 7


Esto es así porque se asume signo positivo y la co-
fras es variable según el valor del núme- ma raíz a la derecha de la representación.

12
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.4. NÚMEROS ENTEROS

1.4. Representación de nú- nes 1.4 muestran algunos ejemplos de este sis-
tema.
meros enteros
Es evidente que si las máquinas digitales
18 ≡ 0 012h SVA(16, 3)
pudieran representar únicamente números na-
−4 ≡ 1 0100b SVA(2, 4) (1.4)
turales su capacidad sería extremadamente li-
−234 ≡ 1 00234 SVA(10, 5)
mitada. En esta sección se explicarán siste-
mas de representación alternativos que permi-
ten representar números positivos y negativos  puede representar des R =
 Eld rango dque se
utilizando únicamente unos y ceros, y de es- −b + 1 , b − 1 con un total de 2b repre-
ta forma hacer posible su almacenamiento en sentaciones. Puede observarse que el cero tie-
una celda de memoria. ne una doble representación, dado que se pue-
Existen dos criterios de naturaleza diferente de representar el cero positivo y el cero negati-
para solucionar este problema. El primero es vo, que matemáticamente no tienen diferencia.
agregar información extra a la representación. Para guardar una representación SVA en
El segundo busca sustituir o mapear los nú- una celda de memoria se debe usar la base
meros enteros con representaciones naturales, dos, y se debe tener presente que se hay que
repartiendo el espacio de representación entre destinar un bit al signo, por lo cual b = 2 y
los números positivos y los negativos. d = n − 1, siendo n el tamaño de la celda de
Los sistemas de representación pueden uti- memoria. Normalmente se utiliza el bit de más
lizarse para cualquier base, por lo cual se estu- alto peso8 para representar el signo. Por ejem-
diarán de manera general y se aplicarán parti- plo, en una celda de memoria de 16 bits b = 2
cularmente a la base dos. y d = 15, por lo que el rango disponible es
R = [−32767 , 32767].

1.4.1. Signo valor absoluto


Operaciones aritméticas en SVA
El sistema de representación de enteros más
intuitivo y simple es el denominado Signo Va- Para realizar las operaciones aritméticas en
lor Absoluto o SVA, en el cual se representa SVA se pueden utilizar los mismos circuitos
el signo agregando un bit a la representación, que se utilizan para los binarios puros, y lue-
por lo cual soluciona el problema utilizando go se debe aplicar una conversión de acuerdo
el primero de los criterios mencionados al co- al signo de los operandos. En las sumas y res-
mienzo de la sección 1.4. Normalmente este tas se utiliza el signo para decidir si se suma o
bit valdrá cero cuando se represente un núme- se resta, y en las multiplicaciones y divisiones
ro positivo, y uno cuando se represente un nú- se utiliza la regla de los signos para calcular
mero negativo. el signo del resultado. En todos los casos se
Para identificar un sistema de Signo Valor requiere lógica adicional que hace más com-
Absoluto se utiliza la dupla SVA(b, d), don- plejos los circuitos.
de b es la base de la representación y d es la
cantidad de cifras que soporta. Las ecuacio- 8 El bit más a la izquierda de la representación

13
1.4. NÚMEROS ENTEROS CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

e 6bd − 1 tran algunos ejemplos de este sistema que pue-


2 den calcularse utilizando la ecuación 1.5.

18 ≡ 012h C1(16, 3)
−4 ≡ 1111b − 0100b
Rc1
- = 1011b C1(2, 4)
d
0 b
bd − 1 −234 ≡ 99999 − 00234
2
= 99765 C1(10, 5)
(1.6)
d h Eld rango dque sei puede representar es R =
− b2 + 1 b b
− 2 + 1 , 2 − 1 con un total de bd represen-
? taciones. Puede observarse que, al igual que en
SVA, el cero tiene una doble representación9 .
Figura 1.6: Distribución del espacio de repre- Para guardar una representación C1 en una
sentación en complemento a uno. celda de memoria se debe usar la base dos,
haciendo b = 2 y d = n, siendo n el tama-
1.4.2. Complemento a uno ño de la celda de memoria. Por ejemplo, en
una celda de memoria de 16 bits b = 2 y
Este sistema de representación es un poco d = 16, por lo que el rango disponible es R =
más complejo que signo valor absoluto y di- [−32767 , 32767].
vide el espacio de representación entre los nú-
meros positivos y los negativos, por lo tanto Operaciones aritméticas en C1
utiliza el segundo de los criterios mencionados
al comienzo de la sección 1.4. Para calcular Las operaciones aritméticas se pueden apli-
la representación en complemento a uno rc1 a car directamente sobre las representaciones,
partir del entero e que se desea representar se y luego aplicar un factor de corrección para
utiliza la ecuación 1.5. La figura 1.6 muestra la obtener la representación del resultado. Las
distribución de los enteros en el espacio de re- ecuación 1.7 en la figura 1.7 muestra el fac-
presentación. El eje X muestra el avance de la tor de corrección a aplicar sobre las represen-
representación como número natural y el eje Y taciones para las sumas, donde r1 representa al
el valor del entero representado. entero e1 , r2 representa al entero e2 y r1+2 re-
presenta la suma de los enteros e1 y e2 . Na-
( turalmente, esta expresión será válida cuando
bd la operación no produce rebalse. Debe obser-
e 0≤e< 2
rc1 = d varse especialmente la utilización del opera-
bd − 1 + e − b2 < e ≤ 0
(1.5) dor módulo m, tal que |nm + i|m = i, cuya se-
mántica es “cuando se supera el número má-
Para identificar un sistema complemento a
ximo, se vuelve a cero”. Esta semántica es na-
uno se utiliza la dupla C1(b, d), donde b es la
tural cuando la cantidad de cifras es limitada,
base de la representación y d es la cantidad de
cifras que soporta. Las ecuaciones 1.6 mues- 9 0 ≡ bd − 1 C1(b, d) y 0 ≡ 0 C1(b, d)

14
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.4. NÚMEROS ENTEROS



 |r1 + r2 |bd e1 ≥ 0 ∧ e2 ≥ 0

e1 ≥ 0 ∧ e1 + e2 < 0
r1+2 = (1.7)
|r + r + 1|bd e1 < 0 ∧ e2 < 0
 1 2


e1 < 0 ∧ e1 + e2 ≥ 0

 |r1 r2 |bd e1 ≥ 0 ∧ e2 ≥ 0
r12 = |r1 r2 + r1 − 1|bd e1 ≥ 0 ∧ e2 < 0 (1.8)

|r1 r2 + r1 + r2 + 1|bd e1 < 0 ∧ e2 < 0

Figura 1.7: Cálculos de corrección de operaciones aritméticas en complemento a uno.

como por ejemplo en el cuentakilómetros de a partir de los signos, mientras que en comple-
un auto o en una máquina digital. mento a uno se debe tomar esa misma decisión
La ecuación 1.8 en la figura 1.7 muestra y luego hacer hasta dos sumas.
los factores de conversión a aplicar en el caso
de los productos, con las mismas aclaraciones
que para la ecuación 1.7.
1.4.3. Complemento a la base
Este sistema de representación es muy simi-
Comparación entre complemento a uno y lar a complemento a uno. Distribuye el espacio
signo valor absoluto de representación de una forma muy similar.
La diferencia más importante entre comple-
Una de las características distintivas del sis- mento a la base y complemento a uno es que el
tema complemento a uno en base dos es el he- primero no tiene doble representación del ce-
cho de que para cambiar el signo de un número ro, aprovechando de esta forma una combina-
basta con invertir la representación bit a bit. En ción más. Este cambio tiene consecuencias en
signo valor absoluto lo mismo se puede lograr las operaciones aritméticas que se estudiarán
invirtiendo nada más que el bit de signo. a continuación. Para calcular la representación
La lógica extra necesaria para trabajar en en complemento a la base rcb a partir del ente-
complemento a uno en máquinas digitales es ro e que se desea representar se utiliza la ecua-
bastante menor que en signo valor absoluto pa- ción 1.9. La figura 1.8 muestra la distribución
ra el caso de las sumas. De hecho la solución de los enteros en el espacio de representación.
es trivial en base dos, dado que las condicio-
nes para corregir indicadas en la ecuación 1.7 ( d
se dan sí y solo sí la suma produce acarreo, con e 0 ≤ e < b2
rcb = d (1.9)
lo cual basta con sumar las representaciones y bd + e − b2 ≤ e < 0
luego sumar el acarreo producido por esta úl-
tima operación. Para identificar un sistema complemento
Para las multiplicaciones la lógica necesa- a la base se utiliza la dupla CB(b, d), don-
ria es mayor que en signo valor absoluto, dado de b es la base de la representación y d es
que en este se debe tomar una decisión lógica la cantidad de cifras que soporta. Las ecua-

15
1.4. NÚMEROS ENTEROS CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

e 6bd − 1 Operaciones aritméticas en CB


2
Una de las características más destacadas
del sistema de complemento a la base es que
no requiere conversiones ni para las sumas
ni para las multiplicaciones. Eso quiere decir
Rcb
- que sumando las representaciones se obtiene
bd d
0 2 x = b − 1 la representación de la suma de los enteros, y
y = −1 multiplicando las representaciones se obtiene
la representación de la multiplicación de los
d enteros.
− b2
?
Demostración matemática para la suma
Figura 1.8: Distribución del espacio de repre-
sentación en complemento a la base. Las representaciones se operan módulo bd ,
que como ya se dijo, es natural cuando la can-
tidad de cifras es limitada. Además se asume
ciones 1.10 muestran algunos ejemplos de es- que las operaciones no producirán rebalse. La
te sistema que pueden calcularse utilizando la demostración se hará estudiando cuatro casos
ecuación 1.9. que se distinguen por el signo de los operan-
dos y el signo del resultado. Sean e1 y e2 dos
18 ≡ 012h CB(16, 3) números enteros, y sean r1 , r2 y r1+2 las repre-
−4 ≡ 10000b − 0100b sentaciones CB(b, d), de e1 , e2 y e1 + e2 res-
= 1100b CB(2, 4) pectivamente.
−234 ≡ 100000 − 00234
= 99766 CB(10, 5) Primer caso Operandos enteros positivos,
(1.10)
resultado positivo y sin rebalse: e1 ≥ 0, e2 ≥ 0,
h Eld rango que se puede representar es R = d
b bd
i
d
0 ≤ e1 + e2 < b2 .
− 2 , 2 − 1 con un total de b representa-
Por 1.9 r1 = e1 , r2 = e2 y r1+2 = e1 +e2 , por
ciones. Puede observarse que, a diferencia de lo tanto
C1, el cero tiene una única representación, y
el rango negativo se extiende un número más
lejos.
|r1 + r2 |bd = |e1 + e2 |bd (1.11)
Para guardar una representación CB en una
celda de memoria se debe usar la base dos, |r1 + r2 |bd = e1 + e2 (1.12)
haciendo b = 2 y d = n, siendo n el tama- |r1 + r2 |bd = r1+2 (1.13)
ño de la celda de memoria. Por ejemplo, en
una celda de memoria de 16 bits b = 2 y En 1.12 puede eliminarse el módulo debido
d = 16, por lo que el rango disponible es R = a que en este caso la suma de los enteros e1 y
[−32768 , 32767]. e2 es mayor que cero y menor que bd .

16
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.4. NÚMEROS ENTEROS

Segundo caso Un operando positivo y otro


negativo, resultado positivo y sin rebalse: e1 ≥
|r1 + r2 |bd = 2bd + e1 + e2

d (1.20)
0, e2 < 0, 0 ≤ e1 + e2 < b2 bd
Por 1.9 r1 = e1 , r2 = bd + e2 y r1+2 = e1 + |r1 + r2 |bd = bd + e1 + e2 (1.21)
e2 , por lo tanto |r1 + r2 |bd = r1+2 (1.22)

En 1.21 puede eliminarse el módulo y uno


d d
(1.14) de los dos términos b , debido a que en este

|r1 + r2 |bd = e1 + b + e2
bd caso la suma de los enteros e1 y e2 es negativa
|r1 + r2 |bd = e1 + e2 (1.15) y mayor que −bd , por lo tanto al sumar bd (una
|r1 + r2 |bd = r1+2 (1.16) vez) quedará mayor que cero y menor que bd .

En 1.15 puede eliminarse el módulo elimi- Demostración matemática para el producto


nado también el término bd debido a que en
este caso también la suma de los enteros e1 y Las representaciones se operan módulo bd
e2 es mayor que cero y menor que bd . y se asume que las operaciones no producirán
rebalse. La demostración se hará estudiando
tres casos que se distinguen por el signo de
Tercer caso Un operando positivo y otro ne-
los operandos y el signo del resultado. Sean e1
gativo, resultado negativo y sin rebalse: e1 ≥ 0,
d y e2 dos números enteros, y sean r1 , r2 y r12
e2 < 0, − b2 ≤ e1 + e2 < 0 las representaciones CB(b, d), de e1 , e2 y e1 e2
Por 1.9 r1 = e1 , r2 = bd + e2 y r1+2 = bd + respectivamente.
e1 + e2 , por lo tanto
Primer caso Operandos enteros positivos,
resultado positivo y sin rebalse: e1 ≥ 0, e2 ≥ 0,
= e1 + bd + e2

|r1 + r2 |bd (1.17) d
bd 0 ≤ e1 e2 < b2 .
|r1 + r2 |bd = bd + e1 + e2 (1.18) Por 1.9 r1 = e1 , r2 = e2 y r12 = e1 e2 , por lo
|r1 + r2 |bd = r1+2 (1.19) tanto

En 1.18 puede eliminarse el módulo debido |r1 r2 |bd = |e1 e2 |bd (1.23)
a que en este caso la suma de los enteros e1 y
|r1 r2 |bd = e1 e2 (1.24)
e2 es negativa y mayor que −bd , por lo tanto
al sumar bd quedará mayor que cero y menor |r1 r2 |bd = r12 (1.25)
que bd . En 1.24 puede eliminarse el módulo debido
a que en este caso el producto de los enteros
Cuarto caso Dos operandos negativos, re- e1 y e2 es mayor que cero y menor que bd .
sultado negativo y sin rebalse: e1 < 0, e2 < 0,
d
− b2 ≤ e1 + e2 < 0 Segundo caso Un operando positivo y otro
Por 1.9 r1 = b + e1 , r2 = b + e2 y r1+2 = negativo, resultado negativo y sin rebalse: e1 ≥
d d
d
d
b + e1 + e2 , por lo tanto 0, e2 < 0, − b2 ≤ e1 e2 < 0

17
1.4. NÚMEROS ENTEROS CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

Por 1.9 r1 = e1 , r2 = bd + e2 y r12 = bd + La ventaja fundamental que posee comple-


e1 + e2 , por lo tanto mento a la base es la posibilidad de operar sin
ningún tipo de corrección, tanto para las mul-
  tiplicaciones como para la suma. Esta ventaja
|r1 r2 |bd = e1 bd + e2 d (1.26) es muy importante y posiblemente es la causa

b
d principal por la cual sea el sistema de repre-
|r1 r2 |bd = b e1 + e1 e2 d (1.27)
b sentación más utilizado para números enteros.
d
|r1 r2 |bd = b + e1 e2 (1.28)
|r1 r2 |bd = r12 (1.29)

En 1.28 puede eliminarse el módulo elimi- 1.4.4. Cero desplazado


nando todos los bd menos uno, debido a que
en este caso el producto de los enteros e1 y e2 El sistema de representación conocido co-
es negativo y mayor que −bd , por lo tanto al mo cero desplazado o notación en exceso tam-
sumar bd una vez quedará mayor que cero y bién divide el espacio de representación en-
menor que bd . tre positivos y negativos, de manera similar
a complemento a la base. La diferencia más
Tercer caso Dos operandos negativos, resul- importante es que en cero desplazado los nú-
tado positivo y sin rebalse: e1 < 0, e2 < 0, meros negativos están primero, y los positivos
d después. Para calcular la representación en ce-
0 ≤ e1 e2 < b2
ro desplazado rcd a partir del entero e que se
Por 1.9 r1 = bd + e1 , r2 = bd + e2 y r12 =
desea representar se utiliza la ecuación 1.33.
e1 e2 , por lo tanto
En esta ecuación f representa una constan-
   te característica del sistema de representación.
|r1 r2 |bd = bd + e1 bd + e2 d (1.30)
Se denomina frontera y es el valor que repre-
b senta al cero. Los valores inferiores a f re-
2d d d
|r1 r2 |bd = b + b e1 + b e2 + e1 e2 d presentan enteros negativos, y los valores su-
b
periores representan enteros positivos. El caso
|r1 r2 |bd = e1 e2 (1.31) d
particular de cero desplazado donde f = b2 se
|r1 r2 |bd = r12 (1.32)
denomina de frontera equilibrada. Los siste-
En 1.31 puede eliminarse el módulo y todos mas de frontera equilibrada utilizan la mitad
los bd , debido a que en este caso el producto de del espacio de representación para enteros po-
los enteros e1 y e2 es positivo y menor que bd . sitivos y la otra mitad para enteros negativos,
siendo por esta razón los más utilizados. En
este apunte se llamará cero desplazado a secas
Comparación entre complemento a la base
a un sistema de frontera equilibrada, mientras
y complemento a uno
que se denominará cero desplazado con exce-
La inversión de signo en complemento a la so a n a un sistema de cero desplazado que
base es un poco más compleja que en comple- utiliza n como frontera. La figura 1.9 muestra
mento a uno. Se debe invertir la la representa- la distribución de los enteros en el espacio de
ción bit a bit y luego sumar uno. representación con frontera equilibrada.

18
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.4. NÚMEROS ENTEROS

e 6bd − 1 ño de la celda de memoria. Por ejemplo, en


2 una celda de memoria de 16 bits b = 2 y
d = 16, por lo que el rango disponible es R =
[−32768 , 32767] con frontera equilibrada.

Rcd
- Operaciones aritméticas en CD
bd
0 f= 2 bd − 1 Las operaciones aritméticas se pueden apli-
car directamente sobre las representaciones,
y luego aplicar un factor de corrección para
− b2
d obtener la representación del resultado. Las
ecuación 1.35 muestra el factor de corrección
?
a aplicar sobre las representaciones para las
Figura 1.9: Distribución del espacio de re- sumas, donde r1 representa al entero e1 , r2 re-
presentación en cero desplazado con frontera presenta al entero e2 y r1+2 representa la suma
equilibrada. de los enteros e1 y e2 .

r1+2 = |r1 + r2 − f |bd (1.35)

rcd = f + e (1.33) La ecuación 1.36 muestra el factor de con-


versión a aplicar en el caso de los productos.
Para identificar un sistema de cero desplaza-
Esta corrección compleja se simplifica bastan-
do se utiliza la dupla CD(b, d), donde b es la
te si se utiliza frontera equilibrada y base dos.
base de la representación y d es la cantidad de
cifras que soporta. Las ecuaciones 1.34 mues-
tran algunos ejemplos de este sistema que pue-
r12 = r1 r2 − (r1 + r2 − 1) f + f 2 bd (1.36)
den calcularse utilizando la ecuación 1.33.

Comparación entre cero desplazado y com-


18 ≡ 800h + 12h plemento a la base
= 812h CD(16, 3)
−4 ≡ 1000b − 0100b Una característica que distingue a los siste-
= 0100b CD(2, 4) mas de cero desplazado de los otros sistemas
−234 ≡ 50000 − 00234 en general es la capacidad de los primeros por
= 49766 CD(10, 5) distribuir asimétricamente el espacio de repre-
(1.34) sentación. Es decir, no necesariamente se de-
 El rango que se puede representar es R = be dar la mitad del espacio para los números
− f , bd − f − 1 con un total de bd represen- positivos y la otra mitad para los negativos.
taciones. Por ejemplo, un sistema CD(10, 2) con exceso
Para guardar una representación CD en una a 10 posee un rango de [−10 , 89].
celda de memoria se debe usar la base dos, Otra característica de los sistemas de cero
haciendo b = 2 y d = n, siendo n el tama- desplazado es que las representaciones y los

19
1.5. NÚMEROS REALES CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

enteros representados se encuentran en el mis- 5. Buscar una ecuación que permita cambiar
mo orden lógico, por lo cual una comparación el tamaño de una representación comple-
de las representaciones da el mismo resultado mento a la base, o sea pasar de una can-
que la comparación de los enteros representa- tidad de cifras a otra mayor, o viceversa.
dos, cosa que no se da en los otros sistemas, Normalmente a este tipo de operaciones
donde siempre hay que utilizar lógica adicio- se las denomina extensión de signo.
nal para comparar.
Como corolario se puede decir que en aque-
llas circunstancias en que se desea distribuir 1.5. Representación de nú-
asimétricamente el espacio de representación, meros reales
o donde se desean favorecer las comparacio-
nes los sistemas de cero desplazado son más Para representar números reales en máqui-
convenientes. nas digitales debe implementarse una manera
de codificar la coma raíz, y de esta forma po-
der representar tanto la parte entera como la
1.4.5. Ejercicios parte fraccionaria. Se deben tener en cuenta las
siguientes consideraciones:
1. Extienda la demostración matemática de
complemento a la base para las restas y Al haber una cantidad limitada de cifras
las divisiones. ¿Qué ocurre con las divi- destinadas a la parte fraccionaria, la pre-
siones? cisión que se puede obtener es limitada, y
por lo tanto existirá un error máximo en
2. Utilizar una demostración matemática si- la representación de un número real de-
milar a la utilizada para complemento a la nominado error de precisión o error de
base para demostrar la correctitud de las redondeo. Este error puede ser menor o
ecuaciones 1.7 y 1.8 para complemento incluso nulo para los números raciona-
a uno y las ecuaciones 1.35 y 1.36 para les10 , pero siempre existirá en los núme-
cero desplazado. ros irracionales.

3. Calcular la corrección que debe utilizar- Para poder representar la parte fraccio-
se en el producto de cero desplazado con naria es necesario sacrificar el rango de
frontera equilibrada y base dos. ¿Es fácil alcance de la representación. Es decir,
de implementar esta corrección? cuanto más cifras fraccionarias posea una
representación, mayor precisión y menor
4. Encontrar una función que permita con- 10 El lector debe recordar que los números raciona-
vertir una representación en cero despla- les son aquellos que se pueden obtener del cociente ab ,
zado con frontera equilibrada a la repre- siendo a y b dos números enteros, y se caracterizan por
sentación del mismo entero en comple- tener una cantidad finita de cifras o una periodicidad en
su parte fraccionaria. Por otro lado los números irracio-
mento a la base. Considere ambos siste- nales tienen una cantidad infinita de cifras en su parte
mas con la misma base y cantidad de ci- fraccionaria y no se detecta una periodicidad en la mis-
fras. ma, por ejemplo, el número π .

20
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.5. NÚMEROS REALES

rango poseerá para una misma cantidad un porcentaje) y por lo tanto refleja mejor el
total de cifras. peso que el error posee sobre los números a
representar.

1.5.1. Precisión, avance, error ab-


a = b− f (1.37)
soluto y error relativo
E = vr − v (1.38)
Se denomina avance a la menor11 diferencia vr − v
e = (1.39)
que puede existir entre dos valores representa- vm
dos. El avance a puede calcularse con la ecua-
ción 1.37 en función de la base de la represen- 1.5.2. Representaciones de coma
tación b y la cantidad de cifras fraccionarias f . fija
Cuanto menor es el avance más precisa es la
representación. Otra forma de medir la preci- La forma más simple de representar núme-
sión es mediante el error absoluto máximo que ros con parte entera y parte fraccionaria es uti-
la representación puede cometer. Se define co- lizar los sistemas denominados de coma fija.
mo error absoluto a la diferencia existente en- Se implementan conviniendo la posición de la
tre el número que se desea representar y el nú- coma raíz en cualquier cifra de la representa-
mero representado. La ecuación 1.38 muestra ción, desde la extrema izquierda, donde todas
esta definición, donde E es el error absoluto, las cifras son fraccionarias, hasta la extrema
vr es el número representado y v el número derecha, donde todas las cifras son enteras14 .
que se desea representar. Como a priori no se Por lo tanto, todos los sistemas estudiados en
define una política de aproximación12 se pue- la sección 1.4 pueden ser utilizados para re-
de asumir que el error absoluto máximo que se presentar números con parte fraccionaria. Las
va a cometer en la representación es a lo sumo operaciones aritméticas por lo tanto también
un avance. Por último, también se puede utili- son las mismas15 .
zar el error relativo, cuyo cálculo se muestra Por ejemplo, para un sistema de representa-
en la ecuación 1.39, en el cual se pondera el ción CB(b, d), donde e cifras se destinan a la
valor del error con el valor del número a re- parte entera y f cifras a la parte fraccionaria
presentar en particular, o con el mayor núme- por lo que e + f = d, la ecuación 1.40 muestra
ro representable vm en general13 , o inclusive el cálculo del error absoluto máximo, la ecua-
se puede utilizar be . Este error es una razón (o ción 1.41 muestra el cálculo del error relativo
máximo, considerando que el mayor valor re-
e
11 Se refiere al valor positivo más pequeño distinto de
presentable es b2 y la ecuación 1.42 muestra el
cero. cálculo del rango.
12 La política de aproximación o de redondeo define
la acción a tomar cuando existe más información frac-
cionaria de la que se puede representar. La solución más E = b− f (1.40)
simple es suprimir la información sobrante, o sea “cor-
tar los decimales”. Si bien es la solución más simple, 14 De hecho, los sistemas de representación de enteros

también es una de las que más error introduce. son un caso particular de los sistemas de coma fija.
13 15
Se adoptará esta forma de calcular el error relativo Con la excepción de las multiplicaciones, que en
para el resto de este apunte. algunos casos requieren extensiones de se signo.

21
1.5. NÚMEROS REALES CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

2b− f mostrando de esta forma el corrimiento de la


e = e
(1.41)
b e e  coma. También puede observarse que hay mu-
b b −f chas formas de representar el mismo número.
R = − , −b (1.42)
2 2
145 = 0, 145 × 103
1.5.3. Representaciones de coma 145 = 14, 5 × 101
flotante (1.43)
0, 0001234 = 1, 234 × 10−4
−0, 273 = −0, 273 × 100
Uno de los mayores inconvenientes que pre-
sentan las representaciones de coma fija es la
imposibilidad de representar cantidades con Sistemas de punto flotante en máquinas di-
diferencias de varios órdenes de magnitud, de- gitales
bido a que el error absoluto está fijo. Para definir un sistema de representación en
Por ejemplo, si se desea medir la distan- punto flotante se deben especificar los siguien-
cia de la tierra a la luna se puede tolerar un tes parámetros:
error de algunas decenas de kilómetros. Si se
mide la distancia entre dos ciudades ese mis-
Sistema de representación de la mantisa
mo error no sería aceptable. Si se mide la dis-
Define el sistema de representación, la canti-
tancia entre dos lugares dentro de una ciudad
dad de cifras y la base en la que se represen-
pequeña, el error invalidaría la medida. Sería
tará la mantisa. Obsérvese también que esta es
una gran ventaja si con un mismo sistema se
la misma base en la que se efectuarán los co-
pudieran representar números muy grandes y
rrimientos.
números muy pequeños, que el error relativo
se mantenga constante y varíe el error absolu-
to en función del orden de magnitud elegido. Sistema de representación del exponente
En este caso los sistemas de coma flotante, al Define el sistema de representación, la canti-
cumplir con esta característica, se desempeñan dad de cifras, y la base en la que se represen-
de mejor forma. tará el exponente.
La base de los sistemas de coma flotante es
codificar por un lado un valor relativo, deno- Normalización de la mantisa Define en
minado mantisa y por el otro la posición de qué cifra de la mantisa se considerará la coma
la coma raíz, denominada exponente dentro de raíz cuando el exponente vale cero, además de
ese valor. lo que se asume antes y después de las cifras
de la mantisa, para el caso en que existan ci-
Notación Científica fras implícitas.

El sistema denominado de notación científi-


Sistema de representación de coma flotante
ca es un claro ejemplo de sistema de coma flo-
de la IBM360
tante. La ecuación 1.43 muestra algunos ejem-
plos de este sistema. En general el exponen- A modo de ejemplo se mostrará el siste-
te siempre se aplica a la base de la mantisa, ma de representación utilizado por la IBM360,

22
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.5. NÚMEROS REALES

S Exp:CD(2,7) Mant: SVA(16,6) Norm: 0,X S Exp:CD(2,8) Mant: SVA(2,24) Norm: 0,1X

31 30 24 23 0 31 30 23 22 0

Figura 1.10: Representación de coma flotante Figura 1.11: Representación de coma flotante
utilizada por el sistema IBM 360 utilizada por el sistema PDP/11

que posee un ancho de palabra16 de 32 bits. La


figura 1.10 muestra la distribución de los bits Sistema de representación de coma flotante
de la palabra entre la codificación de la man- de la PDP/11
tisa y del exponente. Puede apreciarse que el
bit de más alto peso almacena el signo de la El sistema de representación utilizado por la
mantisa, los siguientes siete bits almacenan el
PDP/11, ofrece diferencias significativas con
valor del exponente y los primeros veinticua-
respecto al de la IBM360, y también posee un
tro bits almacenan la mantisa. Además pue- ancho de palabra de 32 bits. La figura 1.11
de verse la normalización, representada comomuestra la distribución de los bits de la pala-
“0, X ′′, que quiere decir “0, seguido del valor
bra entre la codificación de la mantisa y del
indicado por la mantisa”, es decir, que la co-
exponente. Puede apreciarse que el bit de más
ma raíz se encuentra a extrema izquierda. Laalto peso almacena el signo de la mantisa, los
ecuación 1.44 muestra cómo se calcula el va-siguientes ocho bits almacenan el valor del ex-
lor real representado r en función del valor de
ponente y los primeros veintitrés bits almace-
la mantisa m y del exponente e. nan la mantisa. Además puede verse la norma-
lización, representada como “0, 1X ′′, que quie-
r = 0, m × 10eh (1.44) re decir “0, 1 seguido del valor indicado por
la mantisa”, es decir, que la coma raíz se en-
cuentra a extrema izquierda, y además existe
Las ecuaciones 1.45 muestran un ejemplo
un uno implícito u oculto, que permite una ga-
de conversión de un número a la representa-
nancia de precisión. La ecuación 1.46 muestra
ción utilizada por la IBM360.
cómo se calcula el valor real representado r en
función del valor de la mantisa m y del expo-
nente e.
−18, 5 = −12, 8h
−12, 8h = −0, 128h × 102h
m = 1 128h SVA(16, 6)
(1.45)
e = 2 = 1000010b CD(2, 7) r = 0, 1m × 10eb (1.46)
r = 1 1000010b 128h
r = C2128000h

16 Se define como ancho de palabra de un procesador


Las ecuaciones 1.47 muestran un ejemplo
a la cantidad de bits que el mismo puede manejar de una de conversión de un número a la representa-
vez. ción utilizada por la IBM360

23
1.5. NÚMEROS REALES CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS

−18, 5 = −10010, 1b
−10010, 1b = −0, 100101b × 105b
m = 1 1 00101b SVA(2, 24)
| {z }
explícito
e = 5 = 10000101b CD(2, 8)
r = 1 10000101b 00101b
r = C2940000h
(1.47)

1.5.4. Ejercicios
1. ¿En qué casos utilizaría un sistema de co-
ma fija antes que uno de coma flotante?

2. Calcule los límites (valores máximos y


mínimos distintos de cero) para el sis-
tema de representación de coma flotante
de la IBM360, considerando siempre la
mantisa normalizada.

3. Calcule los límites (valores máximos y


mínimos distintos de cero) para el siste-
ma de representación de coma flotante de
la PDP/11.

4. ¿Por qué el uno oculto en el sistema de


la PDP/11 ofrece una ganancia de preci-
sión?

5. ¿Qué ventajas y desventajas ofrece el


sistema de la PDP/11 sobre el de la
IBM360?

24
Capítulo 2

Representación de Información

En el capítulo anterior se estudiaron dife- nominado ASCII, que es la contracción de


rentes formas de representar números y canti- American Standard Code for Information In-
dades de manera soportada por la tecnología terchange (Código estándar americano para
actual en máquinas digitales. En este capítulo intercambio de información), posteriormente
se estudiaran formas para representar caracte- internacionalizado como ISO 646. Se codifica
res, imagenes y sonido de manera tal que las con 7 bits, permitiendo por lo tanto 128 com-
máquinas los puedan manejar. binaciones. Incluye las letras del alfabeto la-
tino inglés (tanto mayúsculas como minúscu-
las), los números del 0 al 91 , los signos de pun-
2.1. Representación de ca- tuación, el espacio y en general los símbolos
que pueden encontrarse en el teclado de una
racteres máquina de escribir. También incluye algunos
caracteres no imprimibles que se utilizan pa-
Es fundamental poder representar caracte-
ra controlar terminales e impresoras de línea.
res en una máquina digital. De esta forma
La tabla 2.1 muestra cada caracter ASCII con
se hace posible almacenar y procesar no so-
su código asociado [Man96]. Los primeros 32
lamente números y cantidades, sino también
caracteres corresponden a códigos de control
texto en general. La solución utilizada es la de
y no son imprimibles. Por eso se muestra su
asociar cada caracter que se desea represen-
nombre estándar y, para los que existe una, la
tar a un número natural, de manera convencio-
representación que se utiliza en el lenguaje C.
nal o estandarizada. De esta forma se constru-
yen las paginas de códigos, que son tablas que
asocian en forma unívoca caracteres con nú- 2.1.2. Códigos ISO 8859
meros. Se estudiarán a continuación diferentes
estándares. Uno de los problemas fundamentales del
ASCII es que solamente codifica los símbolos
2.1.1. Código ISO 646 o ASCII 1 No se debe confundir un número con la represen-
tación ASCII de una cifra. Por ejemplo, el dígito 0 se
Uno de los códigos estandarizados más uti- representa con el código ASCII 48 (30h), teniendo en
lizado para representar caracteres es el de- este contexto valor como caracter, y no como cantidad.

25
2.1. CARACTERES CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN

0 nul ‘\0’ 16 dle 32 spc 48 0 64 @ 80 P 96 ‘ 112 p


1 soh 17 dc1 33 ! 49 1 65 A 81 Q 97 a 113 q
2 stx 18 dc2 34 " 50 2 66 B 82 R 98 b 114 r
3 etx 19 dc3 35 # 51 3 67 C 83 S 99 c 115 s
4 eot 20 dc4 36 $ 52 4 68 D 84 T 100 d 116 t
5 enq 21 nak 37 % 53 5 69 E 85 U 101 e 117 u
6 ack 22 syn 38 & 54 6 70 F 86 V 102 f 118 v
7 bel ‘\a’ 23 etb 39 ’ 55 7 71 G 87 W 103 g 119 w
8 bs ‘\b’ 24 can 40 ( 56 8 72 H 88 X 104 h 120 x
9 ht ‘\t’ 25 em 41 ) 57 9 73 I 89 Y 105 i 121 y
10 lf ‘\n’ 26 sub 42 * 58 : 74 J 90 Z 106 j 122 z
11 vt ‘\v’ 27 esc 43 + 59 ; 75 K 91 [ 107 k 123 {
12 ff ‘\f’ 28 fs 44 , 60 < 76 L 92 \ 108 l 124 |
13 cr ‘\r’ 29 gs 45 - 61 = 77 M 93 ] 109 m 125 }
14 so 30 rs 46 . 62 > 78 N 94 ^ 110 n 126 ~
15 si 31 us 47 / 63 ? 79 O 95 _ 111 o 127 del
Cuadro 2.1: Representación ASCII de caracteres.

128 pad 144 dcs 160 176 ° 192 À 208 Ð 224 à 240 ð
129 hop 145 pu1 161 ¡ 177 ± 193 Á 209 Ñ 225 á 241 ñ
130 bph 146 pu2 162 ç 178 ² 194 Â 210 Ò 226 â 242 ò
131 nbh 147 sts 163 £ 179 ³ 195 Ã 211 Ó 227 ã 243 ó
132 ind 148 cch 164 ° 180 ´ 196 Ä 212 Ô 228 ä 244 ô
133 nel 149 mw 165 Y 181 µ 197 Å 213 Õ 229 å 245 õ
134 ssa 150 spa 166 | 182 ¶ 198 Æ 214 Ö 230 æ 246 ö
135 esa 151 epa 167 § 183 · 199 Ç 215 × 231 ç 247 ÷
136 hts 152 sos 168 ¨ 184 ¸ 200 È 216 Ø 232 è 248 ø
137 htj 153 sgci 169 © 185 ¹ 201 É 217 Ù 233 é 249 ù
138 vts 154 sci 170 ª 186 º 202 Ê 218 Ú 234 ê 250 ú
139 pld 155 csi 171 « 187 » 203 Ë 219 Û 235 ë 251 û
140 plu 156 st 172 ¬ 188 ¼ 204 Ì 220 Ü 236 ì 252 ü
141 ri 157 osc 173 - 189 ½ 205 Í 221 Ý 237 í 253 ý
142 ss2 158 pm 174 ® 190 ¾ 206 Î 222 Þ 238 î 254 þ
143 ss3 159 apc 175 ¯ 191 ¿ 207 Ï 223 ß 239 ï 255 ÿ
Cuadro 2.2: Representación ISO 8859-1 de caracteres (parte alta).

26
CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN 2.1. CARACTERES

Variante Alfabetos Alias


ISO 8859-1 Lenguas de Europa occidental Latin-1
ISO 8859-2 Lenguas de Europa oriental Latin-2
ISO 8859-3 Lenguas del sudeste de Europa, y otras Latin-3
ISO 8859-4 Lenguas escandinavas/balcánicas Latin-4
ISO 8859-5 Latín/cirílico
ISO 8859-6 Latín/árabe
ISO 8859-7 Latín/griego
ISO 8859-8 Latín/hebreo
ISO 8859-9 Modificación de Latin-1 para el turco Latin-5
ISO 8859-10 Lenguas lapona/nórdica/esquimal Latin-6
Cuadro 2.3: Lista de variantes del ISO 8859

utilizados por el alfabeto inglés. El estándar misma norma, además de proveer mecanismos
ISO 8859 incluye varias extensiones de 8 bits de conversión bidireccionales con todos los es-
al conjunto de caracteres ASCII. El objetivo tándares existentes [Kuh95a].
de estos códigos de página es incluir soporte El estándar internacional ISO 10646 defi-
para otros alfabetos y otros idiomas. Existen ne el conjunto de caracteres UCS (Conjunto
diferentes variantes, de las cuales la más co- Universal de Caracteres). UCS contiene todos
nocida es la ISO 8859-1, el Alfabeto Latino los caracteres de todos los demás estándares
Nro. 1 o latin1, el cual ha sido implementa- de conjuntos de caracteres. También garanti-
do tan extensamente que se puede conside- za una compatibilidad de ida y vuelta, es de-
rar de hecho el sustituto éstandar del ASCII. cir, se pueden construir tablas de conversión
La tabla 2.2 muestra la disposición de los ca- de tal forma que no se pierda ninguna infor-
racteres entre los códigos desde el 128 has- mación cuando una cadena se convierta desde
ta el 255 [Man99]. Los primeros 32 caracte- cualquier otra codificación a UCS y viceversa.
res corresponden a caracteres de control. La
primera parte de la codificación corresponde UCS contiene el conjunto de los caracteres
exactamente a la ASCII mostrada en la ta- necesarios para representar casi todos los len-
bla 2.1. La tabla 2.3 muestra las distintas va- guajes conocidos. Esto incluye, además de los
riantes del ISO 8859 y los alfabetos/idiomas numerosos lenguajes que usan una extensión
que incluye cada uno. de la escritura Latina, los siguientes alfabetos
y lenguajes: Griego, Cirílico, Hebreo, Árabe,
Armenio, Gregoriano, Japonés, Chino, Hira-
2.1.3. Códigos ISO 10646, UCS y gana, Katakana, Coreano, Hanguliano, Devan-
UNICODE gari, Bengalí, Gurmuki, Gujarati, Oriya, Ta-
mil, Telugu, Kannada, Malayam, Tai, Lao, Bo-
Estos estándares forman la evolución de los pomofo, y algunos otros. Hay trabajo en curso
anteriores y buscan universalizar y hacer com- para la inclusión de alfabetos tales como Tibe-
patibles todos los sistemas del mundo bajo una tano, Jemer, Rúnico, Etíope, Jeroglíficos, va-

27
2.1. CARACTERES CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN

rios lenguajes indo-europeos, y muchos otros. res permite añadir acentos y otras marcas dia-
Para muchos de estos últimos alfabetos, en el críticas a cualquier carácter. Los caracteres de
momento de la publicación del estándar en combinación siempre siguen al carácter al cual
1993, aún no resultaba claro cómo codificar- modifican. Por ejemplo, en alemán el carác-
los de la mejor forma. ter Umlaut-A (“A mayúscula con diéresis” o
Además de los caracteres necesarios para “Ä”) puede representarse por el ya compuesto
estas escrituras, también se han incluido un código UCS 0x00c4, o alternativamente como
enorme número de símbolos gráficos, tipográ- la combinación de una “A mayúscula” normal
ficos, matemáticos y científicos, como los pro- seguida por una “diéresis de combinación”:
porcionados por TEX, PostScript, MS-DOS, 0x0041 0x0308.
Macintosh, Videotext, OCR, y muchos siste-
mas de procesamiento de textos, además de Niveles de implementación
códigos especiales que garanticen la compa-
tibilidad de ida y vuelta con todos los demás Puesto que no se espera que todos los sis-
estándares existentes de juegos de caracteres. temas soporten mecanismos avanzados tales
El estándar UCS (ISO 10646) describe una como los caracteres de combinación, el ISO
arquitectura del conjunto de caracteres de 31 10646 especifica los siguientes tres grados de
bits. No obstante, hoy en día sólo a los pri- implementación del UCS
meros 65534 códigos (desde 0x0000 a 0xfffd),
que se denominan BMP (Plano Multilingüe Nivel 1 Los caracteres de combinación y ca-
Básico), se les han asignado caracteres, y se racteres Hangul Jamo (una codificación
espera que sólo caracteres muy exóticos (co- especial del coreano, más compleja, en la
mo los jeroglíficos) de uso científico especial que las sílabas Hangul se codifican como
obtengan alguna vez un lugar fuera de este 2 ó 3 subcaracteres) no están implemen-
BMP de 16 bits. tados.
Los caracteres UCS 0x0000 a 0x007f son Nivel 2 Igual que el nivel 1, sin embargo en
idénticos a los del conjunto de caracteres AS- algunos alfabetos se permiten ciertos ca-
CII clásico y los caracteres en el rango de racteres de combinación (como Hebreo,
0x0000 a 0x00ff son idénticos a los del con- Árabe, Devangari, Bengalí, Gurmukhi,
junto de caracteres ISO 8859-1. Oriya, Tamil, Telugo, Kannada, Malaya-
lam, Tai, y Lao).
Caracteres de combinación
Nivel 3 Todos los caracteres de UCS están so-
Algunos códigos en UCS han sido asigna- portados.
dos como caracteres de combinación. Éstos
son similares a las teclas de acento en una El estándar Unicode 1.1 publicado por Unico-
máquina de escribir. Un carácter de combi- de Consortium contiene exactamente el UCS
nación sólo añade un acento al carácter pre- BMP implementado al nivel 3, según se des-
vio. Los caracteres acentuados más importan- cribe en ISO 10646. Unicode 1.1 también aña-
tes tienen códigos propios en UCS, sin embar- de algunas definiciones semánticas para cier-
go, el mecanismo de combinación de caracte- tos caracteres a las definiciones de ISO 10646.

28
CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN 2.2. IMÁGENES

Area Privada El primer byte de una secuencia multiby-


te que represente un carácter no ASCII
En el BMP, en el rango de 0xe000 a 0xf8ff
UCS siempre se halla en el rango 0xc0 a
ningún carácter será nunca asignado por el es-
0xfd, e indica la longitud de la secuencia.
tándar y dicha zona se reserva para uso priva-
El resto de los bytes de la secuencia se
do.
hallan en el rango 0x80 a 0xbf. Esto per-
mite una fácil resincronización y resulta
2.1.4. Código UTF-8 en una codificación sin estado y robusta
frente a la pérdida de bytes.
La codificación UTF-8 de Unicode y UCS
es una forma intermedia que se utiliza para Los caracteres UCS codificados en UTF-
usar el conjunto de caracteres Unicode bajo 8 pueden llegar a ser de 6 bytes, no obs-
sistemas operativos al estilo UNIX [Kuh95b]. tante los caracteres del BMP sólo pueden
ser de 3 bytes a lo sumo.
Propiedades
Los caracteres UCS 0x00000000 a 2.1.5. Ejercicios
0x0000007f se codifican simplemente
como los bytes 0x00 a 0x7f (compatibi- 1. Calcular la cantidad de espacio que se ne-
lidad con ASCII). Esto significa que los cesita para almacenar el texto de 200 li-
ficheros y cadenas que contengan sola- bros de 500 páginas en promedio cada
mente caracteres ASCII de 7 bits tienen la uno, con 72 líneas de 80 letras cada uno
misma codificación en ASCII y en UTF- en promedio. Utilice la codificación ISO-
8. 8859-1.

Todos los caracteres UCS desde el 0x80 2. Calcule la cantidad de espacio que se ne-
hacia arriba se codifican como una se- cesitaría en el mismo caso que en el ejer-
cuencia multibyte formada solamente por cicio anterior, pero utilizando la codifica-
bytes en el rango 0x80 a 0xfd, por lo que ción UTF-8. Considere que el 10 % de los
ningún byte ASCII puede aparecer como caracteres del texto en promedio se codi-
parte de otro carácter y no hay problemas fican con la parte alta del ISO-8859-1, y
con, por ejemplo, ’\0’ o ’/’. por lo tanto ocupan 2 bytes en UTF-8.

Se preserva la enumeración lexicográfica


de las cadenas UCS-42 . 2.2. Representación de imá-
La totalidad de los códigos posibles en genes
UCS pueden codificarse con UTF-8.
Para conseguir crear, almacenar y/o proce-
Los bytes 0xfe y 0xff no se usan nunca en sar imágenes utilizando máquinas digitales es
la codificación UTF-8. necesario codificar la información contenida
2
Se denomina UCS-4 al UCS de 31 bits, y UCS-2 al en estas imágenes en formatos basados en el
suconjunto que codifica el BMP. sistema binario. Se estudiarán a continuación

29
2.2. IMÁGENES CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN

dos formas de representar imágenes en bina-


rio. 00 00 00 11 11 00 00 00
00 00 11 01 01 11 00 00
00 11 10 01 01 01 11 00
11 01 01 10 01 01 01 11
11 01 01 01 10 01 01 11
00 11 01 01 01 10 11 00
2.2.1. Raster o mapa de bits 00 00 11 01 01 11 00 00
00 00 00 11 11 00 00 00
La forma más sencilla de construir una ima-
gen es como la unión de muchos puntos o pi- 03C0 0D70 395C D657 D567 356C 0D70 03C0
xeles de diferentes colores. Si los puntos son lo
suficientemente pequeños y se los observa de Figura 2.1: Mapa de bits junto con un ejemplo
suficiente distancia el ojo humano los compo- de codificación binaria y hexadecimal.
ne para dar la sensación de una imagen con-
tinua. Si se codifica el color y la posición de Factor de compresión y factor de calidad
cada uno de los pixeles se obtiene un formato
raster o de mapa de bits. La figura 2.1 muestra Algunos de los formatos citados utilizan al-
un ejemplo de este tipo de codificación en bi- goritmos de compresión para disminuir el ta-
nario y hexadecimal. Se puede apreciar que la maño final de los archivos. Se denomina fac-
imagen posee un total de 64 pixeles formando tor de compresión a la relación UC donde U es
una matriz de 8 x 8. Como se codifican 4 co- el tamaño del archivo sin comprimir y C es el
lores diferentes es necesario utilizar 2 bits portamaño del archivo comprimido.
pixel. La ecuación 2.1 permite calcular el ta- A fin de conseguir factores de compresión
maño en bytes b de la imagen en función de la más elevados algunos de estos algoritmos de
cantidad de colores c, la cantidad de líneas y y compresión introducen pérdida en la imagen,
la cantidad de columnas x. A b debe sumarse lo cual quiere decir que no es posible recuperar
un encabezado que especifique el tamaño de la información original al comprimir y poste-
la imagen, la forma en que se distribuyen las riormente descomprimir la imagen.
líneas y las columnas, la cantidad de colores y El factor de calidad es una razón que mi-
la forma en que estos se codifican. de cuánta información de la imagen se conser-
va. Normalmente es inversamente proporcio-
xy ⌈log2 c⌉ nal al factor de compresión en los algoritmos
b= (2.1) con pérdida.
8

Entre los formatos de mapa de bits estándar 2.2.2. Formatos Vectorizados


más comunes pueden mencionarse el “Grap-
hics Internet Format” (GIF), el “Joint Photo- Otra forma de representar una imagen es co-
graphic Expert Group” (JPEG), el “Portable dificar el proceso de construcción de la misma
Pixmap Format” (PPM), el “Portable Network en lugar de su descripción. La figura 2.2 mues-
Graphic” (PNG) y el “Tag Image File For- tra un ejemplo de este tipo de representación.
mat” (TIFF). Otro formato propietario pero Cada una de las partes de la figura se arma me-
muy utilizado es el “Windows Bitmap” (BMP). diante un vector, que indica un tipo de forma

30
CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN 2.2. IMÁGENES

0 4 8 12 16 Comparación entre mapas de bits y vecto-


0 rizados

5 Se enumeran a continuación las diferencias


más importantes entre ambos sistemas de re-
presentación de imagenes.
10

La cantidad de información que se debe


15 guardar depende del tamaño en el mapa
de bits, mientras que en los vectores de-
pende de la complejidad de la imagen. La
20
complejidad está dada por la cantidad y
el tamaño de los vectores.
25
Cuando se escala un mapa de bits (tan-
to para aumentar como para reducir) se
30
produce pérdida de información, mien-
triangulo( {8 , 0} , { 2 , 19 } , { 14 , 19 } , fondo azul ) tras que los vectorizados se pueden esca-
circulo( { 8 , 23 } , radio 7 , fondo rosa ) lar fácilmente sin que se produzca pérdi-
semicirculo( { 4 , 24 } , { 8 , 28 } , { 12 , 24 } ) da alguna.
linea( { 8 , 26 } , { 8 , 24 } )
linea( { 4 , 21 } , { 6 , 22 } )
Para procesar un vectorizado se necesi-
linea( { 10 , 22 } , { 12 , 21 } )
ta mayor capacidad de procesador, dado
que su construcción suele requerir gran
Figura 2.2: Ejemplo de representación de una cantidad de operaciones de punto flotan-
imagen en formato vectorizado. te, mientras que los mapas de bits necesi-
tan mayor cantidad de memoria.

Los vectorizados son más aptos para grá-


ficos generados, mientras que los mapas
de bits son más aptos para imágenes na-
y una serie de parámetros como la posición de turales, como las fotografías.
algunos puntos, el tamaño, los colores que la
conforman, etc. La conversión de un vectorizado a un ma-
pa de bits es relativamente simple y muy
eficiente, mientras que el camino inverso
Entre los formatos vectorizados estándar es extremadamente complejo y muchas
más comunes puede citarse el “Encapsula- veces imposible de conseguir de manera
ted Postscript” (EPS) y el “Computer Grap- eficiente3 .
hics Metafile” (CGM). Otro formato propieta- 3 Siempre se puede crear un vector para cada punto
rio pero muy utilizado es el “Windows Metafi- del mapa de bits, pero esto es extremadamente inefi-
le” (WMF). ciente.

31
2.3. AUDIO CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN

2.2.3. Ejercicios
1. Calcular el tamaño en bytes de una ima-
gen de mapa de bits de 640 × 480 y
232 colores.

2. Calcular el espacio necesario para esa


misma imagen si se guarda con un for-
mato que posee un factor de compresión
de 500 % en promedio.

2.3. Representación de au-


dio
Figura 2.3: Digitalización de una señal de so-
El sonido es un efecto físico que correspon- nido mediante la toma de muestras.
de a una variación periódica de presión que
viaja por un medio material, como el aire, en
forma de ondas. Esas variaciones son detec- tado de la unificación de las muestras forma
tadas por el oído humano y procesadas en el una señal “cuadrada” que se caracteriza por te-
cerebro. ner una gran cantidad de armónicos. Median-
Mediante transductores se pueden convertir te filtros analógicos pasabanda y pasabajos se
las variaciones de presión en variaciones de consigue la interpolación de los puntos para
tensión o de corriente eléctrica y por lo tanto recrear una señal muy similar a la original.
se puede transportar la información de audio Según el teorema de N YQUIST, una señal
por un cable, amplificarla, procesarla y luego puede reconstruirse a partir de muestras de la
volver a convertirla mediante un altavoz en va- mismas si la frecuencia de las muestras es por
riaciones de presión para que lleguen al oído. lo menos el doble de la frecuencia de la señal.
Para poder guardar o procesar audio en una Las frecuencias de audio que el oído humano
máquina digital es necesario convertirlo en in- escucha van desde los 20 Hz4 y pueden llegar
formación digital. La forma más utilizada pa- hasta los 20 KHz para un oído entrenado, por
ra la digitalización de señales de audio es la lo que si se desea muestrear audio de alta ca-
denominada Pulse Coded Modulation (PCM). lidad se debe utilizar una frecuencia de mues-
Esta forma consiste en tomar muestras de la treo mínima de 40 KHz. Sin embargo, está de-
señal a una frecuencia fija y conocida, y gene- mostrado también que se puede entender y re-
rar un número binario para cada una de ellas conocer una voz humana con las frecuencias
proporcional a su valor de tensión. La figu- comprendidas entre los 20 Hz y los 4 Khz, por
ra 2.3 muestra la toma de muestras de una se- lo que una frecuencia de muestreo de 8 KHz
ñal de audio, y la figura 2.4 muestra el proceso 4 Hercios,Hertz o Hz es la unidad de medida de fre-
de reconstrucción de la señal de audio a partir cuencia. Significa ciclos por segundo. 1 Kilo Hercio o
de las muestras. Puede apreciarse que el resul- KHz es igual a 1000 Hz.

32
CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN 2.3. AUDIO

les de frecuencias más elevadas.


Los formatos de audio en general utilizan
un encabezado donde se guardan los paráme-
tros de la digitalización seguido de la suce-
sión de muestras. Para reducir la cantidad de
espacio que ocupa la información de audio
se suelen utilizar algoritmos de compresión.
Como formatos conocidos de archivos de au-
dio puede mencionarse el WAV, el AU y el
MPEG 3 (o MP3). Este último utiliza un algo-
ritmo de compresión que puede alcanzar fac-
tores de compresión de 1000 % introduciendo
pérdida.

Figura 2.4: Reconstrucción de una señal a par- 2.3.1. Ejercicios


tir de sus muestras.
1. Calcular la cantidad de espacio necesaria
para almacenar 5 minutos de música es-
puede alcanzar para almacenar y transmitir en
tereofónica con muestras de 16 bits y una
forma digital una voz humana.
frecuencia de muestreo de 44 KHz.
La ecuación 2.2 muestra la cantidad de es-
pacio en bytes necesario para almacenar una 2. Calcular la cantidad de espacio necesaria
señal de audio, donde b es la cantidad de es- para almacenar un mensaje de 5 minutos
pacio requerido en bytes, c es la cantidad de monofónico con muestras de 8 bits y una
5
canales , Bm es la cantidad de bits por mues- frecuencia de muestreo de 8 KHz.
tra, Fm es la frecuencia de muestreo en Hz y
T es el tiempo de duración de la señal. 3. Calcular el tiempo de música codifica-
da con los mismos parámetros del ejerci-
c × Bm × Fm × T cio 1 que puede guardarse en un CDROM
b= (2.2)
8 de 650 Mb.
Puede verse que el espacio ocupado es pro-
4. Repetir el cálculo del ejercicio anterior,
pocional a la cantidad de canales, a la canti-
pero utilizando la compresión MP3.
dad de bits de la muestra, a la frecuencia de
muestreo y al tiempo de duración de la señal.
Una mayor cantidad de bits por muestra de-
vuelve una mayor precisión en la reconstruc-
ción de la señal, dando por resultado una señal
de más calidad, mientras que una mayor fre-
cuencia de muestreo permite reconstruir seña-
5
El sonido monofónico lleva un canal, el estereofó-
nico lleva dos canales.

33
Bibliografía

[Des02] J. P. Deschamps. Síntesis de cir-


cuitos digitales. Thomson, 2002.

[Kuh95a] M. Kuhn. “Páginas de manual en


línea de los sistemas GNU.”, Dic
1995. unicode(7).

[Kuh95b] M. Kuhn. “Páginas de manual en


línea de los sistemas GNU.”, Nov
1995. utf-8(7).

[Man96] “Páginas de manual en línea de los


sistemas GNU.”, Dic 1996. as-
cii(7).

[Man99] “Páginas de manual en línea de los


sistemas GNU.”, May 1999. iso-
8859-1(7).

[PLT99] A. Prieto, A. Lloris y J. C. To-


rres. Introducción a la Informáti-
ca. McGraw–Hill interamericana
de España, 1999. ISBN: 84-481-
1627-5.

[Sut98] G. Sutter. “Sistemas de numera-


ción en máquinas digitales.” Apun-
tes de cátedra de Introducción a la
Arquitectura de Sistemas.

[Tan99] A. Tanembaum. Structured Com-


puter Organization. Prentice Hall,
1999. ISBN: 0-13-095990-1.

34

Anda mungkin juga menyukai