Apunte IAS
Apunte IAS
Apunte IAS
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
4
Índice de figuras
5
Capítulo 1
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
7
1.2. SISTEMAS POSICIONALES CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS
8
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.2. SISTEMAS POSICIONALES
= +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
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
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
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].
13
1.4. NÚMEROS ENTEROS CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS
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
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
16
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.4. NÚMEROS ENTEROS
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
18
CAPÍTULO 1. REPRESENTACIÓN DE NÚMEROS 1.4. NÚMEROS ENTEROS
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 .
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.
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
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
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?
24
Capítulo 2
Representación de Información
25
2.1. CARACTERES CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN
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
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
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.
29
2.2. IMÁGENES CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN
30
CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN 2.2. IMÁGENES
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.
32
CAPÍTULO 2. REPRESENTACIÓN DE INFORMACIÓN 2.3. AUDIO
33
Bibliografía
34