DarwinBotsManual
Abrir la app EnglishEN

div

Divide el número de abajo por el de arriba y redondea al entero más cercano (al par en el empate); dividir por cero da 0.

Datos

Palabra
div
Familia
Básicos
Pila entera
saca 2, pone 1
Qué hace
Saca dos números y apila el de abajo dividido por el de arriba, redondeado al entero más cercano (al par en el empate). Dividir por 0 da 0.
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 div deja a / b redondeado. Tiene dos particularidades que conviene saber de memoria:

cond
start
  7 2 div 50 store
  5 2 div 51 store
  10 0 div 52 store
stop

Las celdas 50, 51 y 52 terminan en 4, 2 y 0.

Lo de dividir por cero tiene un uso conocido en el Bestiario: x dup div vale 1 si x no es cero y 0 si lo es, y con eso se arman condiciones sin condiciones (lo cuenta Los operadores por familia, con el ejemplo de Bardus). Lo de redondear importa al convertir unidades: *.nrg 3 div no es la división entera de otros lenguajes. Si necesitás el resto, está mod.