Organización de
Computadoras 2003
Práctica 2
Sistemas de Numeración
Objetivos de la práctica: que el alumno domine los tópicos de sistemas de numeración referidos a las representaciones en punto flotante, tales como
- Representación e interpretación.
- Operaciones aritméticas.
Bibliografía:
- "Organización y Arquitectura de Computadores" de W. Stalling, capítulo 8.
- Apunte 2 de la cátedra, "Sistemas de Numeración: Punto Flotante".
Punto Flotante
- Considerando el sistema de punto flotante cuya mantisa es entera, está expresada en BSS con 10 bits y su exponente en BSS con 5 bits, escriba el significado de las siguientes cadenas de bits (mantisa a la izquierda):
010001011101110
|
111111111111111
|
111111111100000
|
110001110100011
|
000000000000000
|
100000000000000
|
000000001110011
|
000000000011111
|
000000000111111
|
000101000101100
|
000000000100000
|
100110101000101
|
El número vendrá dado por la expresión
mantisa x 2 exponente
o sea, para el primer caso
0100010111 x 2 01110 = 279 x 2 14 = 4571136 en base 10.
Calcule rango, resolución mínima y resolución máxima del sistema anterior. La mantisa mínima será 0000000000 y el exponente mínimo 00000. El máximo será mantisa 1111111111 y exponente 11111.
Represente los siguientes números: 12 ; 2000000000 ; 34525 ; 13450625 ; 156238523200000. Si hay varias cadenas que lo representan, dar al menos 2.
Primero paso el número a binario y luego hallo el factor de escala. Para el número 12, 0000001100, y si el factor de escala es 1, o sea 2 0, la cadena queda 0000001100 00000. Es de hacer notar que también puedo representarlo como 6 x 2 (factor de escala 2, exponente 1), o sea 0000000110 00001. Observe que los unos de la mantisa sufren un corrimiento de un lugar a la derecha (divido por 2) y el exponente aumenta 1 (multiplico por 2). O sea que jugando con estos 2 elementos dentro del rango de representación en el cual están (tenga en cuenta que el exponente en este caso debe ser positivo, BSS), puedo obtener múltiples cadenas que representan al mismo número.
Calcule rango y resolución en extremos inferior negativo, superior negativo, inferior positivo y superior positivo para los siguientes sistemas de representación en punto flotante:
- Mantisa en BSS de 8 bits y exponente en BSS 4 bits.
- Mantisa en BSS de 8 bits y exponente en BSS 5 bits.
- Mantisa en BSS de 9 bits y exponente en BSS 4 bits.
- Mantisa en BSS de 8 bits y exponente en CA2 4 bits.
- Mantisa en BCS de 18 bits y exponente en Exceso 8 bits.
- Mantisa fraccionaria en BSS de 8 bits y exponente en BSS 4 bits.
- Mantisa fraccionaria normalizada en BSS de 15 bits y exponente en CA1 10 bits.
- Mantisa fraccionaria normalizada en BSS de 15 bits y exponente en BSS 10 bits.
- Mantisa fraccionaria normalizada con bit implícito en BSS de 15 bits y exponente en CA2 7 bits.
- Mantisa fraccionaria normalizada con bit implícito en BCS de 15 bits y exponente en Exceso 5 bits.
Observe que:
- En las mantisas BSS no se puede expresar números negativos, con lo que aun con exponente negativo expresaremos un número positivo por un factor de escala menor a 1, pero también positivo. Ejemplo: 2 x 2 –4 = 0.125.
- Las mantisas fraccionarias suponen el punto al principio de la mantisa.
- Los exponentes negativos indican factores de escala menores a 1, que mejoran la resolución.
- Mantisa normalizada implica que empieza con 1, o sea mantisa mínima 0.1 para la fraccionaria, igual a 0,5 en decimal. Esto hace que no se pueda representar el 0.
- Mantisa normalizada con bit implícito, significa agregar un 1 al principio de la misma al interpretarla. Ejemplo: 00000 se interpreta 0.100000, o 0,5 en base 10.
Para cada sistema del ejercicio anterior obtenga todas las representaciones posibles de los siguientes números:
- El número mínimo y número máximo.
- El máximo negativo y mínimo positivo.
- 0 ; 1 ; 9 ; -5,0625 ; 34000,5 ; 0,015625.
Diga cómo influyen las siguientes variantes en el rango y resolución:
- Mantisa con signo y sin signo.
- Exponente con signo y sin signo.
- Tamaño de mantisa.
- Tamaño de exponente.
- Mantisa entera, fraccionaria, fraccionaria normalizada y fraccionaria normalizada con bit implícito.
Efectúe las siguientes sumas para un sistema de punto flotante con mantisa BSS de 8 bits y exponente en BCS 8 bits.
00001111 00000011 + 00001000 00000010
|
01111111 00000000 + 11111100 10000001
|
00000001 00000111 + 00011100 00000000
|
Observe que los factores de escala debieran ser los mismos, sino estaríamos sumando dos mantisas con pesos distintos (recordar que se puede correr los unos y sumar o restar este corrimiento al exponente para obtener una cadena equivalente).
Suponiendo que los números que no son representables se aproximan al más próximo, obtenga las representaciones o aproximaciones de los números 8,625, 0,4 y 2,5 en los sistemas:
- Mantisa de 5 bits BSS con exponente de 4 bits Ca2.
- Mantisa de 10 bits BCS con exponente de 3 bits Ca2.
Definimos error absoluto y error relativo de un número en un sistema de la siguiente forma:
EA(x) = | x’ – x |
ER(x) = EA(x) / x
donde x’ es el número representable del sistema más próximo a x. Calcule los errores absolutos y relativos para los casos del ejercicio anterior.
Tome un sistema de punto flotante cualquiera y dibuje la forma del gráfico de cada tipo de error en función del número que se quiere representar.