Representación de la información.pdf

17
Departamento de Ingeniería Eléctrica y Computación Introducción a las Computadoras Módulo II Sistemas Numéricos. Representación de la Información.

Transcript of Representación de la información.pdf

Page 1: Representación de la información.pdf

Departamento de Ingeniería Eléctrica y Computación

Introducción a las Computadoras

Módulo II Sistemas Numéricos.

Representación de la Información.

Page 2: Representación de la información.pdf

Módulo II: Sistemas Numéricos “Las aulas clásicas no desaparecen. Sus muros no se caen. Seguirá habiendo una

escuela presencial que lleve a los (estudiantes) a aprender en aulas cerradas. Lo que ocurre es que, además de las puertas y ventanas que conectan con lo próximo y con lo local, existen

también las telepuertas y las televentanas que permiten ver y actuar en el entorno telemático”1

Objetivo general Al finalizar el módulo, el alumno habrá desarrollado habilidades de pensamiento lógico para resolver

problemas de conversiones, y operaciones en diferentes sistemas numéricos, así como también

conocerá como se representa la información

Contenido Unidad 3. Representación de la Información

3.1 Represenatción de Datos

3.2 Código ASCII

3.3 Enteros Binarios

3.4 Punto flotante

Objetivo específico: El alumno conocerá cómo se representa la información dentro de una

computadora.

1 Echeverría, Javier. Los señores del aire: Telépolis y el Tercer Entorno. Ediciones Destino. Barcelona 1999.

Page 3: Representación de la información.pdf

UNIDAD 3: REPRESENTACIÓN DE LA INFORMACIÓN. Una computadora es una máquina que procesa datos, y antes de conocer el procesamiento, debemos comprender la naturaleza de estos datos y cómo éstos son representados dentro de una computadora.

Los datos se representan de diferentes maneras, los diferentes tipos de datos son: Es importante saber que en computación, el término multimedia se usa para referirse a la información que contiene todos los datos mostrados en el diagrama superior. No podemos tener un tipo de computadora específica para el almacenamiento y procesamiento de cada tipo de datos, todos deben ser poder usados en la misma computadora y para esto, es necesario utilizar una representación uniforme de datos y ésta es conocida como patrón de bits. Se define un bit como la unidad más pequeña de datos que puede ser almacenada en una computadora y éste puede ser un 0 o un 1 (recordar el sistema numérico binario). Para representar los distintos tipos de datos que podemos almacenar en una computadora se utiliza un patrón de bits, también conocida como cadena de bits, que es una secuencia o combinación e 0’s y 1’s. Un patrón de 8 bits es conocido como byte.

REPRESENTACIÓN DE TEXTO Para representar texto en una computadora se tienen diferentes secuencias de patrones de bits que representan cada símbolo de texto. A cada secuencia se le conoce como código y cuando se representa cada símbolo a su código correspondiente se le conoce como codificación. Código ASCII. El código ASCII (American Standard Code for Information Interchange) fue desarrollado por el Instituto Nacional Norteamericano de Estándares (ANSI por sus siglas en inglés). Este código utiliza 7 bits ara representar cada símbolo o caracter de texto, por lo que puede representar 27 = 128 símbolos. En Internet se puede encontrar el patrón de 7 bits para cada símbolo y si queremos representar algún texto sólo hay que codificar cada símbolo en el patrón correspondiente.

DATOS

Texto Número Imagen Audio Video

Page 4: Representación de la información.pdf

Por ejemplo: Si queremos codificar la palabra Hola en ASCII, primero es necesario saber el patrón de cada símbolo. De acuerdo al código tenemos que H = 72, o = 111, l = 108, a = 97 La representación del texto Hola en código ASCII es: 100 1000 110 1111 110 1100 110 0001 Existen otros códigos para la representación de texto como EBCDIC, Unicode, ISO y ASCII extendido.

REPRESENTACIÓN DE IMÁGENES En una computadora, las imágenes se representan en uno de dos métodos, ya sea como mapa de bits o como vectores. En el método de gráficos en mapa de bits, una imagen se divide en una matriz de pixeles y cada pixel representa un pequeño punto. El tamaño de cada pixel depende de la resolución. Una imagen puede dividirse en 1000 pixeles o mas dependiendo de la resolución, entre más pixeles tenga una imagen, necesitará más espacio en memoria para ser almacenada. Una vez que la imagen ha sido dividida en pixeles, se le asigna a cada pixel un patrón de bits, cuyo tamaño y valor dependerán de la imagen. Por ejemplo, si tenemos una imagen en blanco y negro (como por ejemplo un tablero de ajedrez) podemos representar cada pixel blanco con un patrón de bits de 1 y a un pixel negro como un patrón de bits de 0. Posteriormente se registran los patrones uno tras otro y se almacenan en la computadora. Para la representación de imágenes a color es necesario descomponer cada pixel coloreado en tres colores primarios (rojo, verde y azul; RGB por sus siglas en inglés). Luego se mide la intensidad de cada color y se le asigna un patrón, generalmente de 8 bits. De esta forma, cada pixel tiene tres patrones de 8 bits para representar cada intensidad de RGB. El problema con los mapas de bits es que los patrones de bits exactos deben ser guardados en la computadora para cada imagen en particular; si después queremos cambiar el tamaño de la imagen por ejemplo, también debemos cambiar el tamaño de los pixeles lo que resulta en una imagen difusa y granulada. El método de gráficos de vector no se guardan los patrones de bits; en este método, la imagen se descompone en una combinación e curvas y líneas en donde cada una se representa con una fórmula matemática; es la combinación de estas fórmulas matemáticas lo que es almacenado en la computadora. Cuando se necesita hacer uso dela imagen, ya sea para imprimirla o mostrarla, se proporciona el tamaño de la imagen como entrada, se evalúan las fórmulas y se presenta la imagen resultante. JPEG, GIF, BMP, PNG son formatos comunes para almacenar imágenes.

Page 5: Representación de la información.pdf

REPRESENTACIÓN DE AUDIO El sonido o la música son representados en audio, y para ser almacenado en una computadora se debe convertir el audio en datos digitales. El audio es análogo y para ser convertido a patrones de bits se deben seguir los siguientes pasos:

1. Se muestrea la señal análoga, es decir, se mide el valor de la señal a intervalos iguales. 2. Las muestras se cuantifican, es decir, se le asigna un valor a cada muestra. 3. Los valores cuantificados se cambian a patrones binarios. 4. Los patrones resultantes son almacenados.

REPRESENTACIÓN DE VIDEO El video se representa a través de imágenes (llamadas cuadros o frames) en el tiempo. Un video es una serie de frames desplegados uno tras otros para crear la ilusión de movimiento, cada frame es convertido al patrón de bits correspondiente y posteriormente se almacena en una computadora. MPEG, MOV, AVI son formatos comunes de almacenamiento de video.

Page 6: Representación de la información.pdf

REPRESENTACIÓN DE NÚMEROS

Números enteros. Ya sabemos convertir enteros del sistema decimal a binario, ahora vamos a almacenarlos dentro de una computadora. Los enteros pueden ser positivos o negativos. Por lo que el intervalo definido para los números negativos sería del cero hasta infinito negativo. Y el intervalo definido para números positivos sería del cero hasta infinito positivo. Para almacenar todos los enteros de este intervalo se requeriría una computadora con capacidad de almacenamiento infinita, lo cual resulta prácticamente imposible. Para usar la memoria de una computadora de manera más eficiente, se han desarrollado dos categorías de representación de enteros: enteros sin signo y enteros con signo. Los enteros con signo también pueden representarse de tres maneras distintas.

Formato de enteros sin signo. Un entero sin signo es un entero que no tiene intervalo, su rango está entre 0 y el infinito positivo. No obstante, como no hay manera de que una computadora represente todos los enteros de este intervalo, la mayoría de las computadoras definen una constante llamada el entero máximo sin signo. Un entero sin signo varía entre 0 y esta constante. El entero máximo sin signo depende del número de bits que la computadora asigna para almacenar un entero sin signo. El intervalo se define mediante:

Intervalo: 0 . . . . (2N -1)

Donde N es el número de bits asignado para representar un entero sin signo.

Page 7: Representación de la información.pdf

Por ejemplo, si tenemos disponibles 8 bits para el almacenamiento de un entero sin signo. Vamos a definir cuál es el intervalo de números que se pueden almacenar.

1. Tomamos la fórmula para definir el intervalo de números que se pueden almacenar en 8 bits 0 . . . . (2N -1)

2. Sustituimos N por los bits asignados, en este caso es 8 por lo que 0 . . . . (28 -1) 3. 0 . . . . (256-1) 4. 0 . . . . 255

Esto quiere decir que podemos almacenar del 0 al 255 Otros ejemplos:

Número de bits Intervalo

8 0 . . . . 255

16 0 . . . . 65535

32 0 . . . . 4294967296

Ahora vamos a almacenar un entero sin signo. Debemos seguir los siguientes pasos.

1. Revisar si el número entra dentro del intervalo de números que se pueden almacenar dependiendo de los bits asignados.

2. Convertir el número a binario 3. Si el número de bits es menor que N, se añaden 0’s a la izquierda del número binario de manera

que haya un total de N bits. Ejemplo 1. Almacenar el número 114 en una localidad de memoria de 8 bits Solución. Vamos a seguir los pasos.

1. 114 entra en el rango de números que podemos almacenar en 8 bits ( el rango es de 0 a 255). 2. 114 lo convertimos en binario 1110010 3. El número de bits que ocupa 114 en binario son 7 bits, por lo que debemos agregar un cero a la

izquierda para completar los 8 bits asignados, el número listo para almacenar quedaría 01110010

Ejemplo 2. Almacenar el número 305 en una localidad de memoria de 8 bits Solución. Vamos a seguir los pasos.

1. 305 no entra en el rango de números que podemos almacenar en 8 bits (el rango es de 0 a 255). Por lo que se obtiene una condición llamada desbordamiento.

Ejemplo 3. Interpretar 0001011010010111 en decimal. El número se almacenó como un entero sin signo. Solución.

1. Vemos que el número está almacenado en una localidad de 16 bits. 2. Convertimos el número a decimal dando como resultado 5783.

Page 8: Representación de la información.pdf

EJERCICIOS. Éstos deben ser desarrollados por el alumno y verificar que se obtiene el resultado dado, esto como prática para el examen de esta actividad.

Decimal Localidad de 8 bits Localidad de 16 bits

10 00001010 0000000000001010

225 11100001 0000000011100001

267 Desbordamiento 0000000100001011

1289 Desbordamiento 0000010100001001

26842 Desbordamiento 0110100011011010

1834532 Desbordamiento Desbordamiento

Formato signo y magnitud. El almacenamiento de un entero en el formato de signo y magnitud requiere 1 bit para representar el signo (0 para positivo, 1 para negativo). Es decir, en una asignación de 8 bits, se utilizan 7 bits para representar el valor absoluto (número sin signo) del número y 1 bit para representar el signo. El intervalo de enteros de signo y magnitud en una computadora se define mediante:

-(2N-1-1) . . . . . + (2N-1-1) Donde N es el número de bits asignados. Sustituimos N y utilizamos la fórmula para obtener los intervalos.

Número de bits Intervalo

8 -127 . . . . -0 +0 . . . . +127

16 -32767 . . . . -0 +0 . . . . +32767

32 -2147483647. . . . -0 +0 . . . . +2147483647

En la representación de signo y magnitud hay dos ceros: uno positivo y uno negativo. El ejemplo en una asignación de 8 bits:

0+ 00000000 0- 10000000

Para almacenar un entero de signo y magnitud es un proceso sencillo

1. Revisar si el número entra dentro del intervalo de números que se pueden almacenar dependiendo de los bits asignados.

2. Convertir el número a binario ignorando el signo 3. Si el número de bits es menor que N-1, se añaden 0 a la izquierda del número binario de manera

que haya un total de N-1 bits. 4. Si el número es positivo, se añade un 0 a la izquierda, para convertirlo en un número de N bits.

Si el número es negativo, se añade un 1 a la izquierda. En la representación de signo y magnitud, el bit en el extremo izquierdo define el signo del número. Si éste es 0, el número es positivo. Si es 1, el número es negativo.

Page 9: Representación de la información.pdf

Ejemplo 1. Almacenar +12 en una localidad de memoria de ocho bits utilizando la representación signo y magnitud. Solución. El número +12 está dentro del intervalo de números que se pueden almacenar en una localidad de memoria de 8 bits en formato signo y magnitud.

Primero cambiamos el número 12 a binario ignorando el signo: 1100. Se ocupan cuatro bits, debo de añadir ceros a la izquierda hasta completar N-1 (8-1) : 0001100. El último bit de la izquierda representa el signo, por lo que debemos agregar un cero en el

extremo izquierdo ya que el número es positivo: 00001100. Ejemplo 2. Almacenar -250 en una localidad de memoria de 16 bits utilizando la representación signo y magnitud. Solución. El número -250 está dentro del intervalo de números que se pueden almacenar en una localidad de memoria de 16 bits en formato signo y magnitud.

Primero cambiamos a binario el número 250 ignorando el signo: 11111010. Se ocupan ocho bits, debo de añadir ceros a la izquierda hasta completar N-1 (16-1) :

000000011111010. El último bit de la izquierda representa el signo, por lo que debemos agregar un 1 en el extremo

izquierdo ya que el número es negativo: 1000000011111010. EJERCICIOS. Éstos deben ser desarrollados por el alumno y verificar que se obtiene el resultado dado, esto como prática para el examen de esta actividad.

Decimal Localidad de 8 bits Localidad de 16 bits

-20 10010100 1000000000010100

+105 01101001 0000000001101001

-254 Desbordamiento 1000000011111110

+2347 Desbordamiento 0000100100101011

-32004 Desbordamiento 1111110100000100

+2834532 Desbordamiento Desbordamiento

Para interpretar un número representado en formato de signo y magnitud debemos seguir los siguientes pasos

1. Ignore el primer bit (el que está en el extremo izquierdo). 2. Cambie los N-1 bits de binario a decimal 3. Agregue un signo + si el bit de extremo izquierdo es 0, agregue – si el bit de extremo izquierdo

es 1. Ejemplo 1. Interprete 10111101 en decimal si el número se encuentra representado como un entero de signo y magnitud Solución.

Ignoramos el bit de extremo izquierdo: 0111101. Convertimos a decimal: 61. Si el bit de extremo izquierdo es cero agregamos un signo positivo al número, si el bit es un uno

agregamos un signo negativo al número: -61.

Page 10: Representación de la información.pdf

Formato de complemento de uno. Para representar un número positivo en formato complemento a uno se usa la convención adoptada para un entero sin signo. Y para representar un número negativo se complementa el número positivo. En complemento a uno; el complemento de un número se obtiene al cambiar los 0 a 1 y los 1 a 0. El intervalo en los enteros complemento a uno se obtiene:

-(2N-1-1) . . . . . + (2N-1-1) Donde N es el número de bits asignados. Sustituimos N y utilizamos la fórmula para obtener los intervalos.

Número de bits Intervalo

8 -127 . . . . -0 +0 . . . . +127

16 -32767 . . . . -0 +0 . . . . +32767

32 -2147483647. . . . -0 +0 . . . . +2147483647

En la representación complemento de uno existen dos ceros: uno positivo y uno negativo. El ejemplo en una asignación de 8 bits

0+ 00000000 0- 11111111

Para almacenar enteros complemento de uno se siguen los siguientes pasos.

1. Verificar si el número a representar esta dentro del intervalo de números permitidos de acuerdo al número de bits asignados.

2. Convertir el número a binario ignorando el signo 3. Si el número de bits es menor que N, se añaden 0 a la izquierda del número binario de manera

que haya un total de N bits. 4. Si el número es positivo, no se realiza ningún cambio. Si el signo es negativo, debe

complementarse cada bit, es decir, cambiamos los 0 por 1 y los 1 por 0. Si el bit que se encuentra en el extremo izquierdo es un 0 el número es positivo, en caso de que el número sea un 1 entonces el número es negativo. Ejemplo 1. Almacenar +25 en una localidad de memoria de ocho bits utilizando la representación complemento de uno. Solución. El número +25 está dentro del intervalo de números que se pueden almacenar en una localidad de memoria de 8 bits en complemento de uno.

Primero cambiamos el número 25 a binario ignorando el signo: 11001. Se ocupan cinco bits, por lo que es necesario añadir ceros a la izquierda hasta completar N:

00011001. Como el número es positivo no sufre cambios, por lo que +25 se representa en 00011001 en

complemento de uno.

Page 11: Representación de la información.pdf

Ejemplo 2. Almacenar -117 en una localidad de memoria de 8 bits utilizando la representación de complemento de uno. Solución. El número -117 está dentro del intervalo de números que se pueden almacenar en una localidad de memoria de 8 bits en complemento de uno.

Primero cambiamos 117 a binario ignorando el signo: 1110101. Se ocupan siete bits, por lo necesitamos agregar ceros a la izquierda hasta completar N:

01110101. Como el número es negativo complementamos 01110101, es decir, cambiamos ceros por unos y

unos por ceros: 10001010. EJERCICIOS. Éstos deben ser desarrollados por el alumno y verificar que se obtiene el resultado dado, esto como prática para el examen de esta actividad.

Decimal Localidad de 8 bits Localidad de 16 bits

-42 11010101 1111111111010101

+122 01111010 0000000001111010

-258 Desbordamiento 1111111011111101

+347 Desbordamiento 0000000101011011

-2674 Desbordamiento 1111010110001101

+30972 Desbordamiento 0111100011111100

Para interpretar un número representado en complemento de uno debemos seguir los siguientes pasos

1. Si el bit de extremo izquierdo es 0 (positivo). Entonces, cambiamos el número entero de binario a decimal, después ponemos el signo positivo (+) enfrente del número.

2. Si el bit de extremo izquierdo es 1(negativo). Complementamos cada uno de los números, es decir, cambiamos unos por ceros y ceros por unos. Después de complementar cambiamos el número a decimal y después ponemos el signo negativo (-) enfrente del número.

Ejemplo 1. Interprete 11010001 en decimal tomando en cuenta que el número está representado en complemento a uno. Solución.

El bit de extremo izquierdo es un 1 por lo que el número es negativo. Procedemos a complementar el número, cambiamos unos por ceros y ceros por uno: 00101110.

Cambiamos el número a decimal: 46. Como el bit de extremo izquierdo es un uno el número es negativo, antepongo un signo negativo

a la cantidad: -46.

Formato de complemento de dos. La representación en complemento de dos viene a resolver los problemas que se presentan en complemento a uno por la existencia de dos ceros, esto puedo crear un poco de confusión en los cálculos.

Page 12: Representación de la información.pdf

El complemento a dos es la representación de enteros más común, más importante y de más amplio uso en la actualidad. El intervalo de enteros complemento a dos se define mediante:

-(2N-1) . . . . . + (2N-1-1) Donde N es el número de bits asignados. Sustituimos N y utilizamos la fórmula para obtener los intervalos.

Número de bits Intervalo

8 -128 . . . . -0 +0 . . . . +127

16 -32768 . . . . -0 +0 . . . . +32767

32 -2147483648. . . . -0 +0 . . . . +2147483647

Para almacenar el complemento a dos se deben seguir estos pasos:

1. Verificar si el número a representar esta dentro del intervalo de números permitidos de acuerdo al número de bits asignados.

2. Convertir el número a binario ignorando el signo 3. Si el número de bits es menor que N, se añaden 0 a la izquierda del número binario de manera

que haya un total de N bits. 4. Si el número es positivo, no se realiza ningún cambio. Si el signo es negativo, todos los 0 de

extremo derecho y el primer 1 permanecen sin cambios. El resto de los bits se complementan. Si el bit que se encuentra en el extremo izquierdo es un 0 el número es positivo, en caso de que el número sea un 1 entonces el número es negativo. Ejemplo 1. Almacenar +28 en una localidad de memoria de ocho bits utilizando la representación complemento de dos Solución. El número +28 está dentro del intervalo de números que se pueden almacenar en una localidad de memoria de 8 bits en complemento de dos.

Primero cambiamos el número 28 a binario ignorando el signo: 11100. Se ocupan cinco bits, por lo que es necesario añadir ceros a la izquierda hasta completar N:

00011100. Como el número es positivo el no realizamos ninguna modificación.

Ejemplo 2. Almacenar -108 en una localidad de memoria de 8 bits utilizando la representación de complemento de dos. Solución. El número -108 está dentro del intervalo de números que se pueden almacenar en una localidad de memoria de 8 bits en complemento de dos.

Primero cambiamos 108 a binario ignorando el signo: 1101100. Se ocupan siete bits, por lo necesitamos agregar ceros a la izquierda hasta completar N:

01101100. Como el número es negativo debemos realizar la representación en complemento a dos por lo

que todos los ceros de extremo derecho y el primer uno permanecen igual: 100, todos los demás números se complementan 10010100.

Page 13: Representación de la información.pdf

EJERCICIOS. Éstos deben ser desarrollados por el alumno y verificar que se obtiene el resultado dado, esto como prática para el examen de esta actividad.

Decimal Localidad de 8 bits Localidad de 16 bits

-50 11001110 1111111111001110

+100 01100100 0000000001100100

-127 10000000 1111111110000000

+594 Desbordamiento 0000001001010010

-7812 Desbordamiento 1110000101111100

+24500 Desbordamiento 0101111110110100

Para interpretar un número representado en complemento de dos debemos seguir los siguientes pasos

1. Si el bit de extremo izquierdo es 0 (positivo). Entonces, cambiamos el número entero de binario a decimal, después ponemos el signo positivo (+) enfrente del número.

2. Si el bit de extremo izquierdo es 1(negativo). Todos los ceros de extremo derecho y el primer uno permanecen sin cambios, todos los otros bits se complementan, es decir, unos por ceros y ceros por unos. Después de complementar cambiamos el número a decimal y después ponemos el signo negativo (-) enfrente del número.

Ejemplo 1. Interprete 11010111 en decimal tomando en cuenta que el número está representado en complemento a dos. Solución.

El bit de extremo izquierdo es un 1 por lo que el número es negativo. Procedemos a dejar intactos los ceros de extremo derecho y el primer uno, en este caso no hay

ceros entonces sólo queda intacto el primer uno, todos los demás bits se complementan, cambiamos unos por ceros y ceros por uno: 00101001.

Cambiamos el número a decimal: 41. Como el bit de extremo izquierdo es un uno el número es negativo, antepongo un signo negativo a la cantidad: -41.

Page 14: Representación de la información.pdf

Números de punto flotante. Para representar un número de punto flotante (un número que contiene parte entera y una fracción), el número se divide en dos partes: el entero y la fracción. Por ejemplo, 24.876 tiene un entero 24 y una fracción de 0.876. Para convertir un número de punto flotante a binario, utilice el procedimiento siguiente.

1. Convierta la parte entera a binario. 2. Convierta la fracción a binario. 3. Poner punto decimal entre las dos partes.

Conversión de la parte entera. Procedimiento visto en la Actividad 04. Conversión de la parte fraccionaria. Para convertir la fracción a binario, se utiliza la multiplicación repetitiva. Por ejemplo, para convertir 0.125 a binario, se multiplica la fracción por 2 dando un resultado de 0.250. La parte entera del resultado (0) de extrae y se vuelve el digito binario a la derecha del punto decimal. Después se multiplica la fracción nuevamente por 2, dando el resultado 0.500, nuevamente el entero se pone en la siguiente posición después del punto decimal y la fracción se vuelve a multiplicar por dos. Este proceso continúa hasta que la parte fraccionaria se vuelve 0 o cuando se llega al límite del número de bits que se pueden usar. 0.125 x 2 = 0.250 0.250 x 2 = 0.500 0.500 x 2 = 1.000

0 . 0 0 1

Ejemplo 1. Convertir la fracción 0.875 a binario. Solución. La fracción se escribe en la esquina izquierda. El número se multiplica continuamente por 2 y se extrae la parte entera como dígitos binarios. El proceso se detiene cuando el número es .0000. 0.875 x 2 = 1.750 0.750 x 2 = 1.500 0.500 x 2 = 1.000 0 . 1 1 1 Ejemplo 2. Convertir la fracción 0.4 a binario. Solución. La fracción se escribe en la esquina izquierda. El número se multiplica continuamente por 2 y se extrae la parte entera como dígitos binarios. En este caso, no podemos obtener la representación binaria exacta debido a que reaparece la fracción original. Sin embargo, puede continuar con el proceso hasta obtener seis bits.

Parar cuando el resultado después del punto decimal sea cero.

Page 15: Representación de la información.pdf

0.4 x 2 = 0.8 0.8 x 2 = 1.6 0.6 x 2 = 1.2 0.2 x 2 = 0.4 0.4 x 2 = 0.8 0.8 x 2 = 1.6 0. 0 1 1 0 0 1 Normalización Para representar el numero +71.3125 (+1000111.0101), en la memoria se almacena el signo, en todos los bits y las posición del punto decimal. Aunque esto es posible, dificulta las operaciones con números. Se necesita una representación estándar para números de punto flotante. La solución es la normalización, es decir, el desplazamiento del punto decimal para que hay sólo un 1 a la izquierda del punto decimal.

1.xxxxxxxxxxx Para indica el valor original del número, éste se multiplica por 2e, donde e es el número 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 añade luego dependiendo del signo del número original. Ejemplos

Numero binario Desplazamiento de punto decimal

Normalizado

+1001001.11010 6 posiciones a la izquierda + 26 x 1.00100111010

-1010.0111 3 posiciones a la izquierda - 23 x 1.0100111

+0.0000001010101 7 posiciones a la derecha +2-7 x 1.010101

-0.010111111 2 posiciones a la derecha -2-2 x 1.0111111

Después de que se normaliza un número, se almacenan sólo tres piezas de información: signo, exponente y mantisa Exponente + 26 x 1.100100111010 Signo Mantisa Signo. El signo de un número se almacena usando 1 bit, 0 si es positivo, 1 si es negativo. Exponente. El exponente (potencia de 2) define el movimiento del punto decimal. Para almacenar el exponente se utiliza la representación de Excess. El número de bits asignado N define el intervalo de números que una computadora puede almacenar. Mantisa. La mantisa es el número binario a la derecha del punto decimal. Define la precisión del número. La mantisa se almacena como un entero sin signo. Almacenamiento de números de punto flotante El procedimiento para almacenar un número de punto flotante en la memoria utilizando el formato de precisión simple lleva a cabo los siguientes pasos:

Page 16: Representación de la información.pdf

1. Almacenar el signo como 0 (positivo) o 1 (negativo). 2. Almacenar el exponente (potencia de dos) como Excess_127. 3. Almacenar la mantisa como un entero sin signo

Ejemplo 1. Almacenar el número normalizado + 28 x 1.0101010100100 en 32 bits. Solución.

Tenemos 32 bits disponibles utilizaremos 1 bit para el signo, 8 bits para el exponente y 23 bits para la mantisa.

El signo es positivo, se almacena como 0 El exponente es 8, en Excess_127, se suma al exponente 127, 127+8 = 135. En binario 10000111. La mantisa es 0101010100100 utilizamos 13 bits por lo que debemos agregar ceros, en este

procedimiento como se trata de una fracción debemos agregar los ceros a la derecha para que el valor de la fracción no se modifique por lo que quedaría 01010101001000000000000.

EJERCICIOS. Éstos deben ser desarrollados por el alumno y verificar que se obtiene el resultado dado, esto como prática para el examen de esta actividad.

Numero normalizado Signo Exponente Mantisa

- 27 x 1.101000011 1 10000110 10100001100000000000000

+ 2-4 x 1.0001010 0 01111011 00010100000000000000000

- 2-6 x 1.11 1 01111001 11000000000000000000000

+ 22 x 1.0101110100100 0 10000001 01011101001000000000000

- 2-5 x 1.00000001010100100 1 01111010 00000001010100100000000

El procedimiento siguiente interpreta un número de punto flotante de 32 bits almacenado en memoria.

1. Use el bit extremo izquierda como el bit de signo. 2. Tome los siguientes 8 bits y convierta a decimal y reste 127 de resultado, este era el exponente.

Es decir la potencia de 2 3. Los bits que restan representan la mantisa. Que ira después del 1.xx. Puede ignorar los ceros a la

derecha. 4. Cambie la parte entera a decimal 5. Cambie la parte fraccionaria a decimal 6. Combine las partes entera y fraccionaria.

Ejercicio 2. Interprete el siguiente número de punto flotante almacenado en 32 bits. 1 01111100 11010101010100000000000 Solución.

El bit en el extremo izquierdo es el signo, como tenemos un 1 el signo es negativo (-). Los siguientes ocho bits representa el exponente: 01111100. Convertimos a decimal: 124

restamos 127, nos arroja un exponente de -3. Los siguientes 23 bits representan la mantisa, ignoramos los ceros de la derecha. Acomodamos dentro de nuestra formula de normalización -2-3 x 1.110101010101

Page 17: Representación de la información.pdf

Sistema Excess Se toma un número conocido como el número mágico que se toma en el proceso de conversión. El número mágico normalmente es -(2N-1) o (2N-1-1) donde N es la asignación de bits. Por ejemplo, si N es igual a 8, el número mágico seria 128 o 127. En el primer caso llamamos a la representación Excess_128 y en el segundo caso Excess_127. Para representar un número en Excess, utilice el procedimiento siguiente:

1. Sume el número mágico al entero. 2. Cambie el resultado a binario y añada uno o varios ceros a la izquierda de tal modo que

complete un total de N bits. Ejemplo 1. Represente 15 en Excess_127 usando localidad de 8 bits. Solución.

Primero se suma 15+127 que es el número mágico designado, se obtiene 142. Se convierte a binario 10001110, el bit es de 8 bits por lo que no se agregan ceros.

Ejemplo 2. Represente -18 en Excess_127 usando localidad de 8 bits. Solución.

Primero se suma -18+127 que es el número mágico designado, se obtiene 109. Se convierte a binario 1101101, ocupamos 7 bits en la representación por lo que agregamos un

cero para completar 8 bits: 01101101. Para interpretar un número en Excess, utilice el siguiente procedimiento

1. Cambie el numero a decimal 2. Reste el número mágico al entero.

Ejemplo 1. Interprete 01110101 si la representación se encuentra en Excess_127. Solución.

Primero cambiamos el número a decimal: 117. Luego restamos el número mágico indicado 127: 117-127 = -10. El número representado es -10

Ejemplo 2. Interprete 10110011 si la representación se encuentra en Excess_128. Solución.

Primero cambiamos el número a decimal: 179. Luego restamos el número mágico indicado que es 128: 179-128 = 51. El número representado es 51.

REFERENCIAS [1]. Behrouz A. Forouzan. “Introducción a la ciencia de la computación”, México 2003: International Thomson Editores, SA de CV.