DarwinBotsManual
Abrir la app EnglishEN

>>

Corre los bits del número del tope un lugar a la derecha conservando el signo: divide por 2 redondeando hacia abajo, así que 7 >> deja 3 y −5 >> deja −3.

Datos

Palabra
>>
Familia
Bit a bit
Pila entera
saca 1, pone 1
Qué hace
Corre los bits del tope un lugar a la derecha conservando el signo: lo divide por 2 redondeando hacia abajo. −1 >> sigue en −1.
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, corre sus bits un lugar a la derecha y apila el resultado. El bit del signo se conserva, así que un negativo sigue negativo. En la práctica es dividir por 2 redondeando hacia abajo:

Pila antesDespués de >>Con 2 div
844
734
522
-5-3-2
-1-10

Fijate que no es igual a div por 2. div redondea al entero más cercano, y en el empate exacto al par; >> siempre baja. Con negativos la diferencia es más visible: -1 >> se queda en −1 para siempre.

Este bot guarda en la celda 50 un cuarto de su energía (.nrg), con dos corrimientos seguidos:

cond
start
  *.nrg >> >> 50 store
stop

Con 3000 de energía, la celda queda en 750. En el primer ciclo de vida guarda 0, porque los sentidos todavía no se publicaron (ver Ejecución y costos).

Con la pila vacía deja 0. El corrimiento a la izquierda es <<.