El primer paso para realizar una operación exponencial de punto flotante es escalar las cosas para que esté intentando calcular 2 ^ (someInteger / powerOfTwo). Esto reducirá fácilmente el problema a uno de convertir un valor entre 0 y 1, en un valor entre 1.00 y 1.99+. Supongamos que tenemos un entero de 32 bits y un factor de escala de 2 ^ 24. Los 8 bits superiores de ese entero pueden producir fácilmente el exponente para el resultado. Como una aproximación aproximada (para mostrar cómo se hacen las cosas), escale las cosas para que los 20 bits inferiores del exponente rindan un valor entre 1.0 exactamente y 1.04427378. Use los bits 20-21 del exponente para elegir una entrada de la tabla (1.0, 1.04427378, 1.09050773, 1.13878863) y multiplique por eso, y luego use los bits 22-23 para elegir una entrada de (1.00, 1.18920711, 1.41421356, 1.68179283) y multiplica por eso.
Tenga en cuenta que este enfoque no producirá resultados precisos, pero puede lograr resultados razonablemente rápidos con una cantidad razonable de hardware. El uso de más pasos en la tabla de búsqueda puede aumentar la precisión a expensas del tiempo y el hardware. El uso de tablas de búsqueda más grandes puede aumentar la precisión a una velocidad determinada a expensas del hardware.