Zero

Zero
Zero

21 diciembre 2006

Valores primitivos numéricos

Hasta ahora, un código como el siguiente:


reference num1 = 1.0;
reference num2 = 5;

reference resultado = num1 * num2;


Hubiera provocado una excepción de tipo, ya que el código de manejo de las operaciones entre valores numéricos es realmente simple.

La razón es que uno de los valores es de un "tipo" (flotante) y el otro de otro tipo (entero).

Ésto provocaba una paradoja: en una máquina virtual sin tipos, resulta que había que convertir un número a flotante antes de realizar cualquier operación entre un flotante y un entero.

Ahora este código funciona correctamente, habiendo además eliminado mucho código "duplicado", es decir, que sólo servía para un tipo u otro.