DarwinBotsManual
Abrir la app EnglishEN

logx

Da el logaritmo del número de abajo en la base del de arriba, redondeado: 1000 10 logx da 3.

Datos

Palabra
logx
Familia
Avanzados
Pila entera
saca 2, pone 1
Qué hace
Saca dos números a y b, les saca el signo y apila el logaritmo de a en base b, redondeado. Con b menor que 2 o a en 0 da 0.
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 logx deja el logaritmo de a en base b: el exponente al que hay que elevar b para llegar a a. 1000 10 logx da 3 y 8 2 logx da 3. Como siempre, el resultado se redondea: 100 2 logx da 7 (es 6,64…).

Las reglas para los casos raros:

Sirve para trabajar con órdenes de magnitud, cuando importa más cuántas cifras tiene un número que el número exacto. Este bot guarda en la celda 50 el orden de magnitud de su energía: 3 mientras ande entre unos 320 y 3160, 2 por debajo y 4 por encima (el redondeo cambia de valor a mitad de camino):

cond
start
  *.nrg 10 logx 50 store
stop

La operación inversa es pow: 10 3 pow da 1000.