Arquitectura de las Computadoras. Tercera plancha. Práctica de punto flotante. 1) Haga dos macros para extraer la fracción y el exponente de un float sin usar variables auxiliares. Sugerencia: use ieee754.h. 2) Convierta a double y float norma IEEE 754 Sı́mbolo Nombre N Número de Avogadro c Velocidad de la luz en el vacı́o e Carga del electrón me Masa del electrón h Constante de Planck h̄ Constante de Planck/2π k Constante de Boltzmann e2 α(= h̄c ) Constante de estructura fina eh̄ β0 (= 2m ) Magnetón de Bohr ec las siguientes constantes1 : valor 6, 02252 × 1023 2, 9979 × 108 m/s 1, 6022 × 10−19 C 9, 1094 × 10−31 kg 6, 6261 × 10−34 J.s 1, 0546 × 10−34 J.s 1, 3807 × 10−23 J/K 7, 2974 × 10−3 9, 2740 × 10−24 J/T 3) Método de W. Kahan. Considere el siguiente procedimiento para sumar, usando punto flotante, los números x1 , . . . , xn : s0 = c0 = 0 yk = xk ck−1 , sk = sk−1 ⊕ yk , ck = (sk sk−1 ) yk , para 1 ≤ k ≤ n. Escriba una función en C que lo implemente. 4) Implemente el cálculo de la función double cos(double), para valores comprendidos entre −π/2 y π/2, usando polinomios de McLaurin. Haga dos versiones, una sin usar el método de Kahan y otra usándolo. Compare los resultados. 5) Sabiendo que un número en punto flotante puede representarse usando base 1 Tomadas de Eugen Merzbacher, Quantum Mechanics (3rd ed.), Wiley, 1.998. 1 b y exceso q como (signo, f, e) = signo × f × be−q |f | < 1, implemente la suma y producto de números base 2 y exceso 30000. Use 18 bits para f y 16 para e. ¿Cuáles números son el mayor y el menor en esta representación? Sugerencia: use campos de bits. 6) Idem que el ejercicio anterior, pero cuidando de normalizar los resultados: f debe cumplir 1/b ≤ |f | < 1, y si es cero, e debe tener el menor valor posible. 2