mult
Multiplica los dos números de arriba de la pila entera; si el producto pasa de 2000 millones, se queda en ese tope.
Datos
- Palabra
mult- Familia
- Básicos
- Pila entera
- saca 2, pone 1
- Qué hace
- Saca dos números y apila su producto. Si pasa de 2000 millones, se queda en ±2000 millones.
- 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 mult deja a · b. Sirve para escalar una lectura (*.eye5 2 mult), para armar números más grandes que el literal máximo (200 200 mult da 40000) y, junto con div, para cuentas proporcionales.
| Palabra | Pila después |
|---|---|
300 | 300 |
300 | 300 300 |
mult | 90000 |
A diferencia de add y sub, que dan la vuelta, mult satura: si el producto pasa de 2000 millones (para un lado o para el otro), deja exactamente ±2000000000.
Lo que sí hay que tener en cuenta es el recorte al guardar. La pila aguanta el 90000, pero una celda de memoria no:
cond
start
300 300 mult 50 store
300 300 mult 300 div 51 store
stopLa celda 50 termina en 26000 (el resto de dividir 90000 por 32000) y la 51 en 300, porque la división achicó el número antes de guardarlo. Ver Números y direcciones.