Práctica 2 - Representación de números reales y caracteres

Anuncio
Práctica 2 - Representación de números reales y caracteres
Organización del Computador 1
1er. Cuatrimestre 2007
Conversión y expresabilidad de números reales
Ejercicio 1
a) Expresar los siguientes números en base 10. Distinguir numerales finitos e infinitos.
0, 12
10, 010112
0, 13
0, 47
b) Expresar los siguientes números en la base indicada, utilizando el método de la multiplicación
para la parte fraccionaria. Distinguir numerales finitos e infinitos.
0, 110 −→ base 2
0, 110 −→ base 3
0, 37510 −→ base 2
12, 37510 −→ base 2
Ejercicio 2
a) Sean b1 y b2 dos números cualesquiera mayores que 1. Mostrar que:
Si b1 divide a b2 , entonces: todo número racional expresable con una cantidad finita de
dı́gitos en b1 es expresable con una cantidad finita de dı́gitos en b2 , pero no necesariamente al revés.
Si b2 es una potencia de b1 , entonces: todo número racional es expresable con una
cantidad finita de dı́gitos en b2 si y sólo si es expresable con una cantidad finita de
dı́gitos en b1 .
Si b1 y b2 son coprimos (i.e., no tienen divisores en común) entonces: ningún número
racional (no entero) expresable con una cantidad finita de dı́gitos en b1 se puede expresar
con una cantidad finita de dı́gitos en b2 .
b) En base al ı́tem anterior, ¿qué relación hay respecto a la expresabilidad finita de números
racionales entre las bases 2 y 10? ¿Y entre las bases 2 y 5?
c) Decidir si está de acuerdo con la siguiente afirmación: “La naturaleza hizo más difı́cil la vida
de los estudiantes de computación al dotarnos de meñiques, pero podrı́a haber sido mucho
peor si encima nos privaba de la simetrı́a axial.”. Justificar.
1
Representación de reales usando Punto Fijo
Ejercicio 3
a) Suponga que representamos números reales usando codificación sin signo de 32 bits, de los
cuales los 4 bits menos significativos posiciones representan la parte fraccionaria y los 28
restantes la parte entera.
Responder las siguientes preguntas:
a) ¿Cuáles son el máximo y el mı́nimo número que se pueden representar?
b) ¿Existe algún número estrictamente real (que sea real pero no sea racional) que se
encuentre entre el máximo y el mı́nimo pero no sea representable?
c) ¿Cuáles son el máximo y el mı́nimo número representables entre 0 y 1?
d ) ¿Cuántos números se pueden representar?
b) Repetir el ı́tem anterior, pero esta vez suponiendo codificación notación complemento a 2,
donde los 4 bits menos significativos posiciones representan la parte fraccionaria.
Representación de reales usando Punto Flotante
Ejercicio 4
a) Realizar las siguientes operaciones de punto flotante decimal con mantisa de cuatro dı́gitos
y exponente de dos. Indicar en qué casos se produjo overflow o underflow:
0, 6020 × 1024
+
0, 0001 × 10−99
65
0, 550 × 10
0, 8051 × 10−99
/ 0,1000 × 10
×
−0, 0001 × 1043
b) ¿Cuáles son las ventajas de trabajar con números normalizados?
Ejercicio 5 Responder las siguientes preguntas sobre los formatos IEEE 754 de precisión simple
y doble:
a) ¿Con cuántos bits se representan los números en estos sistemas?
b) ¿Cuántos bits tiene el significante (fracción)?
c) ¿Cuántos bits tiene el exponente?
d) ¿Con qué sistema está representado el exponente? (sin signo, notación complemento a 2,
exceso a. . . , etc)
e) ¿Existe bit de signo?
f) ¿Cuál es el intervalo de valores posibles del exponente?
g) ¿Entre qué valores de R se encuentran los valores representados por el significante cuando
el número se encuentra normalizado?
h) ¿Cuáles son los números que representan los infinitos?
i) ¿Cuáles números representan el cero?
2
j) ¿Cuáles son los rangos del exponente y el significante que representan un número normalizado?
k) ¿Cuáles son los rangos del exponente y el significante que representan un número desnormalizado?
l) ¿Cuáles son los rangos del exponente y el significante que representan un NaN (Not a Number)?
Ejercicio 6
a) Convertir los siguientes números al formato IEEE 754 de precisión simple. Representar los
resultados con ocho dı́gitos hexadecimales.
910
−0, 1562510
6, 12510
b) ¿Qué números reales representan los siguientes strings hexadecimales si la codificación es
IEEE 754 de precisión simple?:
42E4800016
0080000016
4000000016
Representación de caracteres
Ejercicio 7
a) Expresar el string (cadena de caracteres)
“¿A quién coño se le ocurrió usar 5 sı́mbolos arriba de 127 en esta frase?”
como un string hexadecimal, utilizando las siguientes codificaciones:
ISO-8859-1
UTF-8
(opcional) UTF-16LE (i.e., UTF-16 en little-endian)
b) Dada la siguiente secuencia de bytes (ordenada de izquierda a derecha y de arriba a abajo)
C2
73
A1
74
45
72
73
69
74
6E
6F
67
20
20
6E
65
6F
6E
20
20
65
55
73
54
20
46
75
2D
6E
38
20
21
Decidir los valores que representa cuando se la interpreta:
Como un vector (array) de 8 números de 32 bits, en notación complemento a 2, little
endian
Como una matriz de 4 × 4 números de 16 bits, sin signo, big endian
Como dos números de punto flotante IEEE 754 de precisión doble, little endian
Como un string UTF-8
3
Descargar