-
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
stopCuando 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.