pow
Eleva el número de abajo a la potencia del de arriba: 2 10 pow da 1024. El exponente se limita a ±10.
Datos
- Palabra
pow- Familia
- Avanzados
- Pila entera
- saca 2, pone 1
- Qué hace
- Saca dos números y apila el de abajo elevado al de arriba, redondeado. El exponente se recorta a ±10, base 0 da 0 y el resultado se queda en ±2000 millones.
- Costo
- Comando avanzado; debugint y debugbool no cuestan
- Se ejecuta en
- dentro de un gen: en la condición (cond) y en el cuerpo (start o else)
a b pow deja a elevado a la b. 2 10 pow da 1024, -2 3 pow da −8 y 5 0 pow da 1.
| Palabra | Pila después |
|---|---|
2 | 2 |
10 | 2 10 |
pow | 1024 |
Tiene varios límites que conviene conocer:
- El exponente se recorta a ±10.
2 12 powda 1024, igual que2 10 pow. - Con base 0 da 0, también
0 0 pow(en matemática sería 1). - Un exponente negativo da fracciones, que se redondean:
2 -1 powes 0,5 y queda en 0;1 -1 powda 1. - El resultado se queda en ±2000 millones si se pasa.
Un uso práctico es calcular el valor de un bit para usarlo con los operadores bit a bit: 2 *50 pow es 1, 2, 4, 8… según lo que haya en la celda 50.
cond
start
2 *50 pow 51 store
*50 1 add 50 store
stopEn este bot la celda 51 va tomando los valores 1, 2, 4, 8… 1024, y ahí se queda, porque el exponente no pasa de 10. La operación inversa es root, y el exponente que hace falta para llegar a un número lo da logx.