DarwinBotsManual
Abrir la app EnglishEN

-

El signo menos suelto le cambia el signo al número del tope: 5 - deja −5. No resta; para restar está sub.

Datos

Palabra
-
Familia
Bit a bit
Pila entera
saca 1, pone 1
Qué hace
Cambia el signo del tope: 5 queda en −5. No resta; para restar está sub. Con la pila vacía deja 0.
Costo
Comando de bits
Se ejecuta en
dentro de un gen: en la condición (cond) y en el cuerpo (start o else)

x - saca un número y apila el mismo con el signo cambiado: 5 - da −5 y -7 - da 7. Es un operador de un solo operando, y por eso es fácil confundirlo.

Sirve para invertir una lectura. Este bot empuja hacia adelante sus primeros 5 ciclos y después frena empujando, en cada ciclo, tanto como su velocidad hacia adelante (.velup) pero al revés. En unos pocos ciclos queda quieto:

' acelera 5 ciclos y después frena
cond
  *.robage 5 <
start
  10 .up store
stop

cond
  *.robage 5 >=
start
  *.velup - .up store
stop

Cuando la velocidad es negativa, - la vuelve positiva y .up empuja hacia adelante: el mismo gen frena en las dos direcciones.

Para cambiarle el signo a una celda de memoria, sin pasar por la pila, está negstore. Con la pila vacía, - deja 0. Aunque está en la familia bit a bit, no toca los bits.