DarwinBotsManual
Abrir la app EnglishEN

sub

Resta el número de arriba de la pila al que está debajo: a b sub deja a − b.

Datos

Palabra
sub
Familia
Básicos
Pila entera
saca 2, pone 1
Qué hace
Saca dos números y apila el de abajo menos el de arriba. Con números enormes se comporta igual que add.
Costo
Comando básico
Se ejecuta en
dentro de un gen: en la condición (cond) y en el cuerpo (start o else)

a b sub deja a − b: al de abajo se le resta el de arriba. 10 3 sub da 7 y 3 10 sub da −7. Es la forma más simple de convertir en un número la diferencia entre dos lecturas, por ejemplo cuánta energía ganó o perdió el bot.

cond
start
  ' pila: *.nrg *51 → la diferencia
  *.nrg *51 sub 50 store
  *.nrg 51 store
stop

Este bot guarda en la celda 51 su energía y en la 50 cuánto cambió desde el ciclo anterior (negativo si bajó).

Tiene las mismas rarezas que add con números enormes: pierde precisión arriba de unos 16 millones y da la vuelta al pasar de 2000 millones.