Tecnología

Inicio

Cómo programar para exponentes

Cómo programar para exponentes


Programación para un exponente entero positivo es simple. Sólo hay que establecer un bucle que se multiplica la base del exponente por sí mismo y repetir el bucle para corresponder al número exponente. La programación informática difícil viene en el trato con exponentes que no son números enteros.

Instrucciones

1 Suponga que su base es 2 y el exponente es un número racional, no entero como 1.542. Traducir el decimal en una fracción: 1542/1000.

2 Formar la función f (x) = 2 ^ 1542-x ^ 1000, donde el acento circunflejo (^) se refiere a la exponenciación. El objetivo de aquí en adelante es encontrar x que resuelve f (x) = 0. Así que el problema de exponenciación se ha reducido a un simple problema de raíz de problemas, para el que existen varios algoritmos. ¿Cómo surgió la ecuación viene? 2 ^ 1.542 es desconocido. Así que nos pusimos a x. Por lo tanto, 2 ^ 1.542 = x. Así que 2 ^ (1542/1000) = x. El aumento de ambos lados de la ecuación para un exponente de 1000 da [2 ^ (1542/1000)] ^ 1000 = x ^ 1000, o 2 ^ 1542 = x ^ 1000.

3 Resolver para x usando un algoritmo de búsqueda de raíz estándar, al igual que el método de bisección. El método de bisección encuentra una x1 y x2 que dan una f (x) signos opuestos. (. Ver el 1 y 2 como subíndices Son conjeturas secuenciales en qué valor de x va a resolver f (x) = 0.) A continuación, el punto medio (x3) de x1 y x2 se encuentra: x3 = (x1 + x2) / 2 . Sea cual sea x3 signo hace que la función f (x), que se descartan que sea uno de X1 y X2 dio el mismo signo de f (x).

Por ejemplo, elegir x1 = x2 = 2 y 4. Continuando con la función anterior, f (2) = 2 ^ 1542-2 ^ 1000 es claramente positiva, y f (4) = 2 ^ 1542-4 ^ 1000 es claramente negativo. x3 = 3 es el punto medio entre x1 y x2. f (3) = 2 ^ 1542-3 ^ 1000 es negativo. Así que tirar x2 = 4 y encontrar el punto medio entre x1 y x3.

4 Mantener el cálculo de los puntos medios y tirar del mismo signo x de hasta f (x) es lo más cercano a 0 a medida que lo necesita ser, es decir, hasta que el valor absoluto de f (x) es menor que la tolerancia predeterminada que haya programado en .

Consejos y advertencias

  • Si usted no encuentra los pasos anteriores de un método claro de traducir esto en el código, lo veo de esta manera: Estos pasos se toman de la base B, el numerador N del exponente, el denominador del exponente D y un número máximo de significativa Figuras S, y entonces identifica con la X que hace que f (x) = B ^ (N * 10 ^ S) -x ^ (10 ^ S) tan cerca de cero como su tolerancia requiere. En cuanto a la determinación de x1 y x2, a la vuelta de la exponente arriba y hacia abajo para obtener x1 = 2 ^ 2 y x2 = 2 ^ 1.
  • Programación de los números irracionales es una cuestión de aproximación. Sin embargo, si el usuario introduce un número irracional como el correo o pi, ya se habrá truncado después de un cierto número de decimales ya. Por ejemplo, el número pi sería procesado como 3,141593 -es decir, redondeado a seis lugares decimales.