Proyecto

General

Perfil

Acciones

Operadores Incluidos

Existen dos conjuntos de operadores básicos incluidos:

Aritméticos

Todos los operadores aritméticos están incluidos y disponibles: +, -, *, / y por supuesto % (módulo).

Lógicos

Los operadores lógicos consideran falso a todo valor igual a cero (0 ± 0.000000000001), y verdadero a todo otro valor.

Pero garantizan que devuelven 1.0 para verdadero y 0.0 para falso. Los operadores disponibles son: & (y), | (y/o), ¬ (no).

Existe ademán in conjunto de Funciones y Operadores adicionales

Precedencia

Para aquellos que no lo saben, la precedencia de operadores se refiere al orden en el cual las operaciones serán evaluadas en caso de que no se utilice ningún modificador de orden:

PRIMERO->  * / %  - +  ¬  &  |  == !=   <-ÚLTIMO
           -----  ---  -  -  -  -----    
           ^^^ Los guiones indican los grupos que tienen la misma precedencia

Cuando los operadores tienen la misma precedencia serán evaluados de izquierda a derecha.

Nota: así como en la escuela primaria, el orden de las operaciones puede alterarse utilizando paréntesis.

Factorial

El factorial no es técnicamente un operador... sino una función, pero dado que es muy común, se la implementa utilizando el símbolo ! y con más precedencia que la multiplicación. Aunque la implementación de nuevos operadores es trivial en exp4j el factorial es el único operados unario postfijo, y por lo tanto requiere un caso especial.

Nota: Los factoriales entre 0! y 21! están garantizados como correctos, aquellos mayores de 21! pueden sufrir pérdida de precisión debido a redondeo de doubles.
Nota 2: Los factoriales mayores a 170! elevarán IllegalArgumentException dado que el resultado es Double.INFINITY.

Código

El código de los operadores se encuentra aquí.

Tags:

Actualizado por Federico Vera hace casi 6 años · 2 revisiones

Volver al inicio