Académique Documents
Professionnel Documents
Culture Documents
Representacin de Datos
OBJETIVO
Como se estudi en el tema 1, un ordenador es una mquina que procesa datos. Pero antes de que podamos hablar sobre el procesamiento de datos, necesita comprender la naturaleza de los mismos. En este tema se analizan los diferentes tipos de datos y cmo se representan dentro de un ordenador.
Bibliografa
Forouzan, A. Introduccin a la Ciencia de la Computacin. Cap. 2 y 3. Ed. Thompson, 2003
CONTENIDOS
1. Tipos de datos
2. Datos dentro del Ordenador
3. Representacin de Datos
4. Notacin Hexadecimal
5. Notacin Octal
6. Representacin de nmeros
7. Decimal y binario
8. Conversin
9. Representacin de enteros
10. Sistema Excess
11. Representacin en Punto Flotante
12. Resumen de representacin de datos
13. Un poco de humor: La creacin del ordenador
Anexo A: Tabla de cdigos ASCII - Formato de caracteres estndares
Anexo B: Historia de la numeracin
1
2
3
13
14
15
16
17
18
28
29
33
34
36
37
1. Tipos de datos
En la actualidad los datos se presentan de diferentes maneras, por ejemplo nmeros, texto, imgenes,
audio y video (figura 2.1). La gente necesita procesar todos estos tipos de datos.
Un programa de ingeniera utiliza un ordenador principalmente para procesar nmeros: hacer aritmtica, resolver ecuaciones algebraicas o trigonomtricas, encontrar las races de una ecuacin diferencial, y as por el estilo.
Un programa de procesamiento de palabras, por otra parte, utiliza un ordenador ms que nada para procesar texto: justificarlo, moverlo, eliminarlo, etctera.
Una ordenador tambin puede manejar datos de audio. Se puede reproducir msica en una ordenador e introducir voz como datos.
Finalmente, una ordenador puede usarse no slo para mostrar pelculas, sino tambin para crear
los efectos especiales que se ven en ellas.
2.1. Bit
Antes de continuar con el anlisis de los patrones de bits, se debe definir un bit. Un bit (binary digit: dgito binario) es la unidad ms pequea de datos que puede almacenarse en una ordenador; puede ser ya
sea 0 1. Un bit representa el estado de un dispositivo que puede tomar uno de dos estados. Por ejemplo, un interruptor puede estar ya sea apagado o encendido. La convencin es representar el estado de
encendido como 1 y el estado de apagado como 0. Un interruptor electrnico puede representar un bit.
En otras palabras, un interruptor puede almacenar un bit de informacin. Actualmente los ordenadores
utilizan varios dispositivos binarios de dos estados para almacenar datos.
Representacin de Datos
2.3. Byte
Por tradicin, un patrn de bits con una longitud de 8 bits se llama byte. Este trmino tambin se ha utilizado para medir el tamao de la memoria o de otros dispositivos de almacenamiento. Por ejemplo, se
dice que la memoria de un ordenador que puede almacenar 8 millones de bits de informacin es una
memoria de 1 milln de bytes.
3. Representacin de Datos
Ahora podemos explicar cmo pueden representarse diferentes tipos de datos usando patrones de bits.
3.1. Texto
Una pieza de texto en cualquier idioma es una secuencia de smbolos usados para representar una idea
en ese idioma. Por ejemplo, el idioma ingls utiliza 26 smbolos (A, B, C, ..., Z) para representar las letras maysculas, 26 smbolos (a, b, c,..., z) para representar las letras minsculas, 9 smbolos (0, 1,
2,..., 9) para los caracteres numricos (no nmeros; la diferencia se ver ms adelante) y smbolos (., ?,
:, :..., !) para representar la puntuacin. Otros smbolos como el espacio en blanco, la lnea nueva y el
tabulador se usan para alineacin de texto y legibilidad.
Se puede representar cada smbolo con un patrn de bits. Dicho de otra forma, texto como la palabra
"BYTE", formada por cuatro smbolos, puede representarse como 4 patrones de bits, en los que cada patrn define un solo smbolo (figura 2.4).
este idioma requiere representar al menos 26 smbolos. Para otro idioma, como el chino, pueden necesitarse muchos smbolos ms. La longitud del patrn de bits que representa un smbolo en un idioma depende del nmero de smbolos usados en ese idioma. Ms smbolos significan un patrn de bits ms
grande.
Aunque la longitud del patrn de bits depende del nmero de smbolos, la relacin no es lineal; es logartmica. Si se requieren dos smbolos, la longitud es 1 bit (el log22 es 1). Si se necesitan cuatro smbolos,
la longitud es 2 bits (log24 es 2). La tabla 2.1 muestra esta relacin, la cual es fcilmente perceptible. Un
patrn de bits de 2 bits puede tomar cuatro formas diferentes: 00, 01, 10 y 11; cada una de las cuales
representa un smbolo. Del mismo modo, un patrn de tres bits puede tomar ocho formas diferentes:
000, 001, 010, 011, 100, 101, 110 y 111.
Nmero de smbolos
2
4
8
16
3
4
128
256
65 536
16
3.2. Cdigos
Se han diseado diferentes secuencias de patrones de bits para representar smbolos de texto. A cada
secuencia se le conoce como cdigo y al proceso de representar los smbolos se le llama codificacin. En
esta seccin explicamos los cdigos comunes.
ASCII
El Instituto Nacional Norteamericano de Estndares (ANSI: American Nacional Standards Institute) desarroll un cdigo llamado Cdigo norteamericano de estndares para intercambio de informacin
(ASCII: American Standard Code for Information Interchange). Este cdigo utiliza siete bits para cada
smbolo. Esto significa que 128 (27) smbolos distintos pueden definirse mediante este cdigo. Los patrones de bits completos para el cdigo ASCII estn en el apndice A. La figura 2.5 muestra cmo se representa la palabra "BYTE" en cdigo ASCII.
Representacin de Datos
Las letras maysculas (A ... Z) estn antes que las letras minsculas (a ... z).
Los caracteres en maysculas y en minsculas se distinguen slo por un bit. Por ejemplo, el patrn
para A es 1000001; el patrn para a es 1100001. La nica diferencia es el sexto bit a partir de la
derecha.
ASCII extendido
Para hacer que el tamao de cada patrn sea de 1 byte (8 bits), a los patrones de bits ASCII se les aumenta un 0 ms a la izquierda. Ahora cada patrn puede caber fcilmente en un byte de memoria. En
otras palabras, en ASCII extendido el primer patrn es 00000000 y el ltimo es 01111111.
Algunos fabricantes han decidido usar el bit de ms para crear un sistema de 128 smbolos adicional. Sin
embargo, este intento no ha tenido xito debido a la secuencia no estndar creada por cada fabricante.
EBCDIC
A principios de la era de los ordenadores, IBM desarroll un cdigo llamado Cdigo extendido de intercambio decimal codificado en binario (EBCDIC: Extended Binary Coded Decimal Interchange Code).
Este cdigo utiliza patrones de ocho bits, de manera que puede representar hasta 256 smbolos. Sin embargo, este cdigo no se utiliza ms que en ordenadores mainframe de IBM.
Unicode
Ninguno de los cdigos anteriores representa smbolos que pertenecen a idiomas distintos al ingls. Por
eso, se requiere un cdigo con mucha ms capacidad. Una coalicin de fabricantes de hardware y software ha diseado un cdigo llamado Unicode que utiliza 16 bits y puede representar hasta 65536 (216)
smbolos. Diferentes secciones del cdigo se asignan a los smbolos de distintos idiomas en el mundo. Algunas partes del cdigo se usan para smbolos grficos y especiales. El lenguaje Java utiliza este cdigo
para representar caracteres. Microsoft Windows usa una variacin de los primeros 256 caracteres. En el
apndice B hay un pequeo conjunto de smbolos Unicode.
ISO
La Organizacin Internacional para la Estandarizacin (Internacional Standard Organization), conocida como ISO, ha diseado un cdigo que utiliza patrones de 32 bits. Este cdigo representa hasta
4,294,967,296 (232) smbolos, definitivamente lo suficiente para representar cualquier smbolo en el
mundo actual.
3.3. Nmeros
En una ordenador, los nmeros se representan usando el sistema binario. En este sistema, un patrn
de bits (una secuencia de ceros y unos) representa un nmero. Sin embargo, un cdigo como el ASCII no
se usa para representar datos. La razn para ello y un anlisis de la representacin de nmeros se presentan en la seccin Representacin de Nmeros.
3.4. Imgenes
Hoy da las imgenes se representan en un ordenador mediante uno de dos mtodos: grficos de mapa de bits o grficos de vectores (figura 2.6). Esta no es una divisin tajante, ya que las imgenes
vectoriales suelen admitir la incrustacin de imgenes de mapa de bits en su interior y los programas especializados en dibujo vectorial (Illustrator, Freehand y CorelDraw!) cada vez tienen ms cualidades de
los programas de tratamiento de imgenes de mapa de bits (Photoshop, o Corel Photopaint). Lo contrario
tambin es cierto.
Figura 2.7. Mtodo de grficos de mapa de bits de una imagen blanca y negra.
Si una imagen no se forma de pixeles puramente blancos y pixeles puramente negros, se puede aumentar el tamao del patrn de bits para representar escalas de grises. Por ejemplo, para mostrar cuatro niveles de la escala de grises, se puede usar un patrn de dos bits. Un pixel negro puede representarse por
00, un gris oscuro por 01, un pixel gris claro por 10 y un pixel blanco por 11.
De este modo, podemos hablar de una imagen que tenga 200 100 pxeles sin saber que tamao real y
fsico tiene. Lo nico que sabemos es que la hemos dividido en 20.000 celdillas.
Sin embargo, cuando le asignemos a esa imagen una resolucin, entonces s sabremos qu tamao tiene
esa imagen. Por ejemplo, si decimos que tiene 100 pxeles por pulgada, querr decir que cada 2,54 cm.
(pues eso es lo que mide una pulgada), habr 100 celdillas, con lo que cada pxel equivaldr a 2,54 mm.
Representacin de Datos
Si dijramos que esa imagen tiene una resolucin de 1 pxel por pulgada, lo que sabramos es que ahora
esa celdilla tomara el valor de 2,54 cm.
Todo ello significa, insisto, que el pxel es slo una unidad de divisin sin un tamao real concreto. Slo
cuando asignamos una resolucin a la imagen de la que hablamos estamos dndole un tamao concreto
al pxel.
Como ya hemos visto en otro sitio, hay imgenes de mayor resolucin e imgenes de ms baja resolucin. A mayor resolucin, mayor nitidez del dibujo y mejor se reflejan los detalles. Sin embargo, hay que
tener presente que cualquier resolucin que supere la que el dispositivo de salida (pantalla, impresora,
etc...) es capaz de representar no hace ms que sobrecargar el sistema y ralentizar el trabajo.
Una imagen de 200200 pxeles en este modo. La informacin es muy escasa para reproducir bien este tipo de imagen.
Cada pxel puede tener 256 valores diferentes (las 256 posibilidades combinatorias de un byte u octeto).
Este es el modo de las imgenes digitales de blanco y negro "normales". Aunque te pueda parecer increble, en ellas slo se distinguen hasta 256 tonos diferentes de gris (y no suelen aparecer todos a la vez,
por cierto).
Representacin de Datos
Tericamente, porque la representacin del color que la pantalla de un ordenador puede hacer es mediante imgenes RGB, ya que ese es el modo de reproducir el color de los monitores.
Imgenes en color de 8 bits o menos
Es lo que se llama color indexado. Lo que se hace es que se crea una tabla o ndice de 256 colores y a
cada una de los posibles valores de un pxel se le asigna uno de ellos. Si la tabla la construimos con menos posibilidades (16, por ejemplo), esa imagen no ser un color indexado de 256 tonos sino uno de 16.
Para ms informacin sobre este tipo de imgenes, sigue leyendo imgenes de escala de grises .
Otros modos especiales de imagen
Son ampliaciones de los modos vistos anteriormente. Puede ocurrir que tengan ms de cuatro canales
(debido a que tengan canales de mscara (para efectuar operaciones especiales) o canales de tinta planas (ficheros multicanal). Tambin puede ser que aunque tengan slo dos, tres o cuatro canales, stos
tengan asignado un valor cromtico especial (archivos multicanal). Otra posibilidad es que para representar tonos asignen ms de un byte por pxel, es decir, que sean imgenes que son capaces de representar
ms de 256 valores por tonos. Imgenes de este tipo se dan, por ejemplo, como resultado de escanear
en modos con "ms profundidad de bits".
11
Representacin de Datos
Trazado
(Path). Es la lnea en s, puede ser curva o recta. Puede ser simple (una sla lnea o complejo (est
compuesto por sucesivas lneas con varios puntos de control).
(Control points y anchor points). Son los extremos de una lnea o los diversos puntos en los que un
trazado complejo cambia de forma.
Manejadores o tiradores
(Handlers). Son unas pequeas lneas rectas que salen a mayor o menor distancia de los puntos de
control y terminan en una especie de bolita. Tirando de esta bolita se puede modificar la forma del
trazado en esa zona.
Contorno y relleno
El contorno (Outline / path). Es la lnea de borde de un trazado. Puede ser un color continuo o una
sucesin de puntos, rayas o un motivo repetitivo.
El relleno(Fill). Es lo que llena un trazado por sus partes ms cerradas puede ser un color o un motivo repetitivo (pattern).
Las imgenes vectoriales tienen el inconveniente de tener dificultades en tratar algunas cosas de forma
"natural" (sombras, luces, etc...) y cuando son muy grandes o muy complejas pueden volverse extremadamente difciles de manejar para la capacidad de un ordenador hasta el extremo de que el RIP PostScript no sea capaces de procesarlas.
En artes grficas, el formato "natural" de las imgenes vectoriales es el de ficheros EPS . Cualquier otro
(Corel o Freehand) es slo un formato de fichero de trabajo interno de diseo grfico y no debe tener
otro uso.
3.8. Audio
El audio es una representacin de sonido o msica. Aunque no hay un estndar para almacenar el sonido
o la msica, la idea es convertir el audio a datos digitales y usar patrones de bits. El audio por naturaleza es informacin anloga. Es continuo (anlogo), no discreto (digital). La figura 2.9 muestra los pasos a
seguir para cambiar los datos de audio a patrones de bits.
13
Representacin de Datos
3.9. Video
El video es una representacin de imgenes (llamadas cuadros o frames) en el tiempo. Una pelcula es
una serie de cuadros desplegados uno tras otro para crear la ilusin de movimiento. As que si se sabe
cmo almacenar una imagen dentro de una ordenador, tambin se sabe cmo almacenar un video; cada
imagen o cuadro cambia a una serie de patrones de bits y se almacena. La combinacin de las imgenes
representa el video. Obsrvese que el video actual se comprime normalmente.
4. Notacin Hexadecimal
El patrn de bits se dise para representar datos cuando stos se almacenan dentro de un ordenador.
Sin embargo, para la gente es difcil manipular los patrones de bits. Escribir una serie de nmeros 0 y 1
es tedioso y propenso al error. La notacin hexadecimal ayuda.
La notacin hexadecimal se basa en 16 (hexadec es la palabra griega para 16). Esto significa que hay
16 smbolos (dgitos hexadecimales): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. La importancia de la
notacin hexadecimal se hace evidente cuando se convierte un patrn de bits a notacin hexadecimal.
Cada dgito hexadecimal puede representar cuatro bits y cuatro bits pueden representarse mediante un
dgito hexadecimal. La tabla 2.2 muestra la relacin entre un patrn de bits y un dgito hexadecimal.
Patrn de bits
Dgito hexadecimal
Patrn de bits
Dgito hexadecimal
0000
1000
0001
1001
0010
1010
0011
1011
0100
1100
0101
1101
0110
1110
0111
1111
Observe que la notacin hexadecimal se escribe en dos formatos. En el primer formato, se aade una x
minscula (o mayscula) antes de los dgitos para mostrar que la representacin est en hexadecimal.
Por ejemplo, xA34 representa un valor hexadecimal en esta convencin. En otro formato, usted indica la
base del nmero (16) como el subndice despus de cada notacin. Por ejemplo, A3416 muestra el mismo
valor en la segunda convencin. En este libro se usan ambas convenciones.
Ejemplo 1
Determine el hexadecimal equivalente del patrn de bits 110011100010.
Solucin
Cada grupo de cuatro bits se traduce a un dgito hexadecimal. El equivalente es xCE2.
Ejemplo 2
Determine el hexadecimal equivalente del patrn de bits 0011100010.
Solucin
El patrn de bits se divide en grupos de cuatro bits (a partir de la derecha). En este caso, se aaden dos
0 ms a la izquierda para hacer el nmero total de bits divisible entre cuatro. As que usted tiene
000011100010, lo cual se traduce a x0E2.
Ejemplo 3
Cul es el patrn de bits para x24C?
Solucin
Cada dgito hexadecimal se escribe como su patrn de bits equivalente y se obtiene 001001001100.
5. Notacin Octal
Otra notacin usada para agrupar patrones de bits es la notacin octal. La notacin octal se basa en 8
(oct es la palabra griega para ocho). Esto significa que existen ocho smbolos (dgitos octales): 0, 1, 2, 3,
4, 5, 6, 7. La importancia de la notacin octal se hace evidente a medida que se aprende a convertir un
patrn de bits en notacin octal.
Cada dgito octal representa tres bits y tres bits pueden representarse mediante un dgito octal. La tabla
2.1 muestra la relacin entre un patrn de bits y un dgito octal.
Un patrn de tres bits puede representarse por medio de un dgito octal y viceversa.
Patrn de bits
Dgito octal
Patrn de bits
Dgito octal
000
100
001
101
010
110
011
111
15
Representacin de Datos
Conversin
La conversin de un patrn de bits a notacin octal se realiza mediante la organizacin del patrn en
grupos de tres y la determinacin del valor octal de cada grupo de tres bits. Para la conversin de octal a
patrn de bits, se convierte cada dgito octal a su equivalente de tres bits (figura 2.11).
6. Representacin de nmeros
En las secciones previas mostramos cmo el texto, el audio, las imgenes y el video pueden representarse en un ordenador mediante patrones de bits. Pospusimos el anlisis de la representacin de los nmeros porque sta es muy diferente de la representacin de los datos no numricos. Algunas de las razones
de esta diferencia son las siguientes:
Un cdigo de caracteres como el ASCII no es eficiente para representar nmeros. ASCII puede representar 128 smbolos, pero el sistema decimal necesita slo 10. (Obsrvese que si se consideran
otros smbolos como +, y el punto decimal, se necesitan an ms smbolos, pero todava menos
que 128.) Por ejemplo, si usted quiere almacenar el nmero 65535 usando ASCII, necesita cinco
bytes (un byte para cada dgito). Pero si el nmero se representa como un entero sin signo (usted
ver esta representacin posteriormente en esta seccin), slo necesita dos bytes.
Las operaciones con los nmeros (por ejemplo, la suma y la resta) son muy complicadas si los dgitos de un nmero se representan en un cdigo de caracteres.
7. Decimal y binario
Dos sistemas de numeracin predominan actualmente en el mundo de la computacin: decimal y binario.
Analizaremos estos dos tipos distintos de sistemas antes de presentar cmo se representan los nmeros
mediante una ordenador.
17
Representacin de Datos
8. Conversin
8.1. Conversin de binario a decimal
Antes de estudiar cmo los nmeros en forma de patrones de bits se almacenan dentro de una ordenador, debes comprender cmo convertir manualmente un nmero del sistema decimal al sistema binario y
viceversa.
Comenzaremos por convertir un nmero del sistema binario al sistema decimal. Toma el nmero binario
y multiplica cada dgito binario por el valor de su posicin. Como cada bit binario puede ser slo 0 o 1, el
resultado ser ya sea 0 o el valor posicional. Despus de multiplicar todos los dgitos suma los resultados.
La conversin de binario a decimal se muestra en la figura 2.14.
1
0
0
1
1
16
8
4
2
1
------------------------------------16 + 0
+
0
+
2
+
1
19
dividiendo el cociente (22) por 2 para determinar la siguiente posicin. Este proceso contina hasta que
el cociente es 0. La conversin de decimal a binario se muestra en la figura 2.15.
9. Representacin de enteros
Ahora que sabe cmo convertir del sistema decimal al sistema binario, veamos cmo almacenar enteros
dentro de una ordenador. Los enteros son nmeros ntegros (es decir, nmeros sin una fraccin). Por
ejemplo, 134 es un entero, pero 134.23 no lo es. Como otro ejemplo, 134 es un entero, pero -134.567
no lo es.
Un entero puede ser positivo o negativo. Un entero negativo vara del infinito negativo a 0; un entero
positivo vara de 0 al infinito positivo (figura 2.16). Sin embargo, ninguna ordenador puede almacenar
todos los enteros en este intervalo. Para hacerlo, requerira un nmero infinito de bits, lo cual significa
una ordenador con una capacidad de almacenamiento infinita.
19
Representacin de Datos
Intervalo:
0 ... (2N-1)
La tabla 2.2 muestra dos intervalos comunes para los ordenadores de hoy.
Nmero de bits
Intervalo
8
16
0 ... 255
0 ... 65535
Solucin
Primero se cambia el nmero a binario: 100000010. Se aaden siete 0 para hacer un total de N (16)
bits: 0000000100000010. El nmero se almacena en la localidad de la memoria.
La tabla 2.3 muestra cmo se almacenan los enteros no asignados en dos ordenadores diferentes: una
usa registros de ocho bits y la otra usa registros de 16 bits. Observe que los nmeros decimales 258 y
24760 no pueden almacenarse en una ordenador que use registros de ocho bits para un entero sin signo.
El nmero decimal 1245678 no puede almacenarse en ninguna de estos dos ordenadores; a esta condicin se le llama desbordamiento.
Decimal
Localidad de 8 bits
Localidad de 16 bits
00000111
0000000000000111
234
258
11101010
Desbordamiento
0000000011101010
0000000100000010
24760
Desbordamiento
0110000010111000
1245678
Desbordamiento
Desbordamiento
Conteo. Cuando se cuenta, no se necesitan los nmeros negativos. Usted comienza contando a
partir de 1 (a veces de 0) y contina.
21
Representacin de Datos
Intervalo:
(2N-1 1) + + (2N-1 1)
La tabla 2.4 muestra los intervalos comunes para los ordenadores actuales. Observe que en este sistema
hay dos 0: +0 y 0.
Nmero de bits
00000000
10000000
Rango
-127
-0
+0
+ 127
16
32
-32767
-2147483647
-0
-0
+0
+0
+ 32 767
+2147483647
Ejemplo 6
Almacene +7 en un registro de memoria de ocho bits usando una representacin de signo y magnitud.
Solucin
Primero se cambia el nmero a binario: 111. Se aaden cuatro 0 para hacer un total de N 1 (7) bits:
0000111. Luego se aade un cero ms, que aqu se muestra en negritas, ya que el nmero es positivo. El
resultado es 00000111.
Ejemplo 7
Almacene 258 en un registro de memoria de 16 bits usando una representacin de signo y magnitud.
SOLUCIN
Primero se cambia el nmero a binario: 100000010. Se aaden seis 0 para hacer un total de N 1 (15)
bits: 000000100000010. Se aade un 1 ms, que aqu se muestra en negrita, puesto que el nmero es
negativo. El resultado es 1000000100000010.
La tabla 2.5 muestra cmo se almacenan los nmeros de signo y magnitud en dos ordenadores diferentes; una que usa registro de ocho bits y una que usa registro de 16 bits.
Decimal
Registro de 8 bits
Registro de 16 bits
+7
00000111
0000000000000111
-124
11111100
1000000001111100
+258
Desbordamiento
0000000100000010
-24 760
Desbordamiento
1110000010111000
23
Representacin de Datos
Los diseadores de la representacin del complemento a uno adoptaron una convencin diferente:
para representar un nmero positivo, usan la convencin adoptada para un entero sin signo. Y para representar un nmero negativo, complementan el nmero positivo. En otras palabras, +7 se representa
justo como un nmero sin signo, mientras que 7 se representa como el complemento de +7. En el
complemento a uno, el complemento de un nmero se obtiene al cambiar todos los 0 a 1 y todos los 1 a
0.
A continuacin se define el intervalo de los enteros complemento a uno en una ordenador, donde N es el
nmero de bits asignados para representar un entero complemento a uno:
Intervalo:
(2N-1 1)
+(2N-1 1)
...
00000000
11111111
La tabla 2.6 muestra los intervalos comunes actuales para los ordenadores. Observe que en este sistema
hay al menos dos 0: un +0 y un 0.
Nmero de bits
Intervalo
-127
+0
+ 127
16
-32767
-0
+0
+ 32767
32
-2147483647
-0
+0
+2147483647
En la representacin del complemento de uno, el bit que est en el extremo izquierdo define el signo del nmero. Si ste es 0, el nmero es positivo. Si es 1, el
nmero es negativo.
Ejemplo 9
Almacene +7 en un registro de memoria de ocho bits usando la representacin de complemento a uno.
Solucin
Primero se cambia el nmero a binario: 111. Se aaden cinco 0 de modo que haya un total de N(8) bits:
00000111. El signo es positivo as que no se requiere realizar otra accin.
Ejemplo 10
Almacene 256 en un registro de memoria de 16 bits usando la representacin del complemento de uno.
Solucin
Primero se cambia el nmero a binario: 100000010. Se aaden siete 0 con el fin de que haya un total de
N(16) bits: 0000000100000010. El signo es negativo, de manera que cada bit complementa. El resultado
es 1111111011111101.
La tabla 2.7 muestra cmo se almacenan los nmeros en complemento a uno en dos ordenadores distintas: una que usa registros de ocho bits y otra que usa registros de 16 bits.
Decimal
Localidades de 8 bits
Localidades de 16 bits
+7
00000111
0000000000000111
-7
11111100
1111111111111000
+ 124
01111100
0000000001111100
-124
10000011
1111111110000011
+ 24760
Desbordamiento
0110000010111000
-24760
Desbordamiento
1001111101000111
25
Representacin de Datos
Desbordamiento
Si se intenta almacenar un entero complemento a uno como +256 en una localidad de memoria de ocho
bits, se obtiene una condicin llamada desbordamiento.
Aplicaciones
Actualmente la representacin del complemento a uno no se usa para almacenar nmeros en ordenadores. Hay al menos dos razones para ello. Primero, las operaciones como la suma y la resta no son sencillas para esta representacin. Segundo, hay dos 0 en esta representacin, lo cual vuelve las cosas difciles para los programadores. Sin embargo, esta representacin tiene cierta relevancia. Primero, es la base
para la siguiente representacin (el complemento a dos). Segundo, tiene propiedades que la vuelven interesante para aplicaciones de comunicacin de datos tales como la deteccin y correccin de errores.
A continuacin se define el intervalo de los enteros complemento a dos en una ordenador, donde N es un
nmero de bits asignados a un entero complemento a dos:
La tabla 2.8 muestra los intervalos comunes actuales para los ordenadores. Obsrvese que en este sistema hay slo un 0 y que el principio del intervalo es 1 menos que aquel para el complemento a uno.
Nmero de bits
Intervalo
-128
+0
+ 127
16
-32 768
+0
+ 32767
32
-2147483648
+0
+2147483647
2. Si el nmero de bits es menor que N se aaden 0 a la izquierda del nmero de manera que haya
un total de N bits.
3. Si el signo es positivo, no se necesita una accin posterior. Si el signo es negativo, todos los 0 en
el extremo derecho y el primer 1 permanecen sin cambios. El resto de los bits se complementa.
Ejemplo 12
Se almacena +7 en un registro de memoria de ocho bits usando la representacin del complemento a
dos.
Solucin
Primero se cambia el nmero a binario: 111. Se aaden cinco 0 con el fin de que haya un total de N(8)
bits: 00000111. El signo es positivo, as que no se requiere realizar ninguna otra accin.
Ejemplo 13
Almacene 40 en un registro de memoria de 16 bits usando la representacin del complemento a dos.
Solucin
Primero se cambia el nmero a binario: 101000. Se aaden diez 0 de modo que haya un total de N(16)
bits: 0000000000101000. El signo es negativo, as que los 0 en el extremo derecho permanecen sin
cambio hasta el primer 1 (inclusive) y el resto se complementa. El resultado es 1111111111011000.
La tabla 2.9 muestra cmo se almacenan los nmeros complemento a dos en dos ordenadores distintos,
una que usa registro de ocho bits y otra que usa registro de 16 bits.
Decimal
Localidad de 8 bits
Localidad de 16 bits
+7
00000111
0000000000000111
-7
11111001
1111111111111001
+ 124
01111100
0000000001111100
-124
10000100
1111111110000100
+24760
Desbordamiento
0110000010111000
-24760
Desbordamiento
1001111101001000
00000000
Interpretacin
Cmo se interpreta una representacin binaria del complemento a dos en decimal? El proceso involucra
los pasos siguientes:
27
Representacin de Datos
La operacin complemento a dos puede lograrse al invertir todos los bits, excepto
los bits que estn en el extremo derecho hasta el primer 1 (inclusive). Si se aplica
la operacin complemento a dos a un nmero positivo, se obtiene el nmero negativo correspondiente. Si se aplica la operacin complemento a dos a un nmero negativo, se obtiene el nmero positivo correspondiente. Si un nmero se complementa dos veces, se obtiene el nmero original.
Aplicaciones
La representacin del complemento a dos es la representacin estndar actual para almacenar enteros en
los ordenadores: esto ocurre cuando se considera la simplicidad de las operaciones que usan el complemento a dos.
Sin signo
0
1
2
3
4
5
6
7
8
9
Signo y magnitud
+0
+ 1
+2
+3
+4
+5
+6
+7
-0
-1
Complemento Complemento
a uno
a dos
+0
+0
+ 1
+ 1
+2
+2
+3
+3
+4
+4
+5
+5
+6
+6
+7
+7
-7
-8
-6
-7
1010
1011
1100
1101
1110
1111
10
11
12
13
14
15
-2
-3
-4
-5
-6
-7
-5
-4
-3
-2
-1
-0
-6
-5
-4
-3
-2
-1
29
Representacin de Datos
Ejemplo 18
Transformar la fraccin 0.4 a un binario de 6 bits.
Solucin
La fraccin se escribe en la esquina izquierda. El nmero se multiplica continuamente por 2 y se extrae la
parte entera como dgito binario. En este caso, no se puede obtener la representacin binaria exacta debido a que reaparece la fraccin original. Sin embargo, se puede continuar con el proceso hasta obtener
seis bits.
11.2. Normalizacin
Para representar el nmero 71.3125 (+1000111.0101), en la memoria se almacena el signo, todos los
bits y la posicin del punto decimal. Aunque esto es posible, dificulta las operaciones con nmeros. Se
necesita una representacin estndar para nmeros de punto flotante. La solucin es la normalizacin, es
decir, el desplazamiento del punto decimal para que haya slo un 1 a la izquierda del punto decimal.
1 . xxxxxxxxxxxxxxxxxx
Para indicar el valor original del nmero, ste se multiplica por 2e, donde e es el nmero de bits en que
se desplaz el punto decimal: positivo para el desplazamiento izquierdo y negativo para el desplazamiento derecho. Un signo positivo o negativo se aade luego dependiendo del signo del nmero original. La
tabla 2.11 muestra ejemplos de la normalizacin.
Nmero original
Desplazamiento
+ 1010001.11001
-111.000011
+0.00000111001
1.01000111001
+2
1.11000011
+2
+2-6
1.11001
-3
1.110011
-0.001110011
Normalizado
+6
-2
-2
26
1.0001110101
31
Representacin de Datos
Signo:
Exponente: 6
Mantisa: 0001110101
Ejemplo 19
Muestre la representacin del nmero normalizado
26
1.01000111001
Solucin
El signo es positivo y se representa como 0. El exponente es 6. En la representacin Excess_127, se le
suma 127 y se obtiene 133. En binario es 10000101. La mantisa es 01000111001. Cuando se aumenta la
longitud a 23, se obtiene 01000111001000000000000. Advirtase que no se puede ignorar el 0 a la izquierda porque es una fraccin, sin considerar que el 0 es lo mismo que multiplicar el nmero por 2. Obsrvese que los 0 se aadieron a la derecha (no a la izquierda) debido a que se trata de una fraccin. La
adicin de 0 a la derecha de una fraccin no modifica a la fraccin, pero aadir 0 a la izquierda significa
dividir el nmero entre una potencia de 2. El nmero en la memoria es un nmero de 32 bits como se
muestra en seguida:
Signo
0
exponente mantisa
10000101 01000111001000000000000
+ 2
23
Nmero
Signo
Exponente
Mantisa
1.11000011
10000001
11000011000000000000000
1.11001
01111001
11001000000000000000000
1.110011
01111100
11001100000000000000000
33
Representacin de Datos
los 0 adicionales, se obtiene 110011. Despus de que se aade un 1 a la izquierda del punto decimal, el
nmero normalizado en binario es:
23
1.110011
Los nmeros, el texto, las imgenes, el audio y el video, todos son formas de datos. Los ordenadores necesitan procesar todo tipo de datos.
Todos los tipos de datos se transforman en una representacin uniforme llamada patrn de bits para su procesamiento por el ordenador.
Un interruptor, con sus dos estados de encendido y apagado, puede representar un bit.
Unicode es un cdigo de 16 bits y la ISO ha desarrollado un cdigo de 32 bits. Ambos cdigos permiten un mayor nmero de smbolos.
Las imgenes utilizan el mtodo de grficos de mapa de bits o grficos de vectores para representacin de datos. La imagen se divide en pixeles a los que luego pueden asignarse patrones de bits.
Los datos de audio se transforman a patrones de bits a travs del muestreo, la cuantificacin y la
codificacin.
La mayora de los ordenadores actuales utiliza el mtodo de representacin de enteros del complemento a dos.
Tanto el mtodo de signo y magnitud como el de complemento a uno tienen dos representaciones
para el valor 0; el complemento a dos tiene slo una representacin para el valor 0.
Un nmero de punto flotante es un nmero entero y una fraccin. La conversin de la fraccin a
binario requiere que el denominador de la fraccin se exprese como una potencia de 2. El sistema
Excess_X se utiliza para almacenar esta potencia de 2.
Una fraccin se normaliza con la finalidad de que las operaciones sean ms simples.
Para almacenar una fraccin en la memoria, se necesita su signo, exponente y mantisa.
35
Representacin de Datos
17. Y Dios le dijo al Usuario: por lo que hiciste, el Windows te decepcionar y se comer todos tus recursos; y tendrs que usar malos programas; y siempre permanecers bajo la ayuda del Programador.
18. Y Dios le dijo al Programador: por haber escuchado al Usuario nunca sers feliz. Todos tus programas tendrn errores y tendrs que corregirlos y corregirlos hasta el fin de los tiempos.
19. Y Dios los ech a todos del Centro de Datos y bloque la puerta con una password.
Hex
Smbolo
ASCII
Hex
Smbolo
ASCII
Hex
Smbolo
ASCII
Hex
Smbolo
NUL
16
10
DLE
32
20
(espacio)
48
30
SOH
17
11
DC1
33
21
49
31
STX
18
12
DC2
34
22
"
50
32
ETX
19
13
DC3
35
23
51
33
EOT
20
14
DC4
36
24
52
34
ENQ
21
15
NAK
37
25
53
35
ACK
22
16
SYN
38
26
&
54
36
BEL
23
17
ETB
39
27
'
55
37
BS
24
18
CAN
40
28
56
38
TAB
25
19
EM
41
29
57
39
10
LF
26
1A
SUB
42
2A
58
3A
11
VT
27
1B
ESC
43
2B
59
3B
12
FF
28
1C
FS
44
2C
60
3C
<
13
CR
29
1D
GS
45
2D
61
3D
14
SO
30
1E
RS
46
2E
62
3E
>
15
SI
31
1F
US
47
2F
63
3F
ASCII
Hex
Smbolo
ASCII
Hex
Smbolo
ASCII
Hex
Smbolo
ASCII
Hex
Smbolo
64
40
80
50
96
60
112
70
65
41
81
51
97
61
113
71
66
42
82
52
98
62
114
72
67
43
83
53
99
63
115
73
68
44
84
54
100
64
116
74
69
45
85
55
101
65
117
75
70
46
86
56
102
66
118
76
71
47
87
57
103
67
119
77
72
48
88
58
104
68
120
78
73
49
89
59
105
69
121
79
74
4A
90
5A
106
6A
122
7A
75
4B
91
5B
107
6B
123
7B
76
4C
92
5C
108
6C
124
7C
77
4D
93
5D
109
6D
125
7D
78
4E
94
5E
110
6E
126
7E
79
4F
95
5F
111
6F
127
7F
http://www.ascii.cl/es/index.htm
37
Representacin de Datos
Han sido de este tipo las numeraciones egipcia, sumaria (de base 60), hitita, cretense, azteca (de base
20), romana y las alfabticas de los griegos, armenios, judios y rabes.
Se usaban tantos de cada uno cmo fuera necesario y se podian escribir indistintamente de
izquierda a derecha, al revs o de arriba abajo, cambiando la orientacin de las figuras segn el caso.
Al ser indiferente el orden se escriban a veces segn criterios estticos, y solan ir acompaados de los geroglficos
correspondientes al tipo de objeto (animales, prisioneros,
vasijas etc.) cuyo nmero indicaban. En la figura aparece el
276 tal y como figura en una estela en Karnak.
Estos signos fueron utilizados hasta la incorporacin de
Egipto al imperio romano. Pero su uso qued reservado a
las inscripciones monumentales, en el uso diario fue sustituido por la escritura hiertica y demtica, formas ms
simples que permitian mayor rapidez y comodidad a los escribas.
En estos sistemas de escritura los grupos de signos adquirieron una forma propia, y asi se introdujeron smbolos particulares para 20, 30....90....200, 300.....900,
2000, 3000...... con lo que disminuye el nmero de signos necesarios para escribir una cifra.
39
Representacin de Datos
De esta forma los nmeros parecen palabras, ya que estn compuestos por letras, y a su vez las palabras
tienen un valor numrico, basta sumar las cifras que corresponden a las letras que las componen. Esta
circunstancia hizo aparecer una nueva suerte de disciplina mgica que estudiaba la relacin entre los
nmeros y las palabras. En algunas sociedades como la juda y la rabe, que utilizaban un sistema similar, el estudio de esta relacin ha tenido una gran importancia y ha constituido una disciplina aparte: la
kbala, que persigue fines msticos y adivinatorios.
41
Representacin de Datos
Hasta aqu parece ser un sistema de base 5 aditivo, pero en realidad, considerados cada uno un solo signo, estos smbolos constituyen las cfras de un sistema de base 20, en el que hay que multiplicar el valor de cada cifra por
1, 20, 20x20, 20x20x20 ... segn el lugar que ocupe, y sumar el resultado. Es por tanto un sistema posicional que se
escribe a arriba abajo, empezando por el orden de magnitud
mayor.
Al tener cada cifra un valor relativo segn el lugar que ocupa,
la presencia de un signo para el cero, con el que indicar la ausencia de unidades de algn orden, se hace
imprescindible y los mayas lo usaron, aunque no parece
haberles interesado el concepto de cantidad nula. Cmo
los babilonios lo usaron simplemente para indicar la ausencia de otro nmero.
Pero los cientficos mayas eran a la vez sacerdotes ocupados en la observacin astronmica y para expresar los
nmero correspondientes a las fechas usaron unas unidades de tercer orden irregulares para la base 20. As la cifra que ocupaba el tercer lugar desde abajo se
multiplicaba por 20x18=360 para completar una cifra muy prxima a la duracin de un ao.
El ao lo consideraban dividido en 18 uinal que constaba cada uno de 20 das. Se aadan algunos festivos (uayeb) y de esta forma se consegua que durara justo lo que una de las unidades de tercer orden
del sistema numrico. Adems de ste calendario solar, usaron otro de carater religioso en el que el ao
se divide en 20 ciclos de 13 das.
Al romperse la unidad del sistema ste se hace poco prctico para el clculo y aunque los conocimiento
astronmicos y de otro tipo fueron notables los mayas no desarrollaron una matemtica ms all del calendario.