Cómo lidiar con números grandes en javascript [duplicado]
Estoy buscando una solución matemática que se ocupe de números reales (largos, grandes, enormes, tormentas). No he encontrado nada todavía, pero no quiero pensar que este problema no se haya resuelto en este momento. Estoy buscando una solución numérica sencilla, como Microsoft Excel Precision (30 decimales) o una solución BigInteger (Java). en Javascript por supuesto.
Mientras buscaba una biblioteca de números enteros grandes para una implementación criptográfica de ElGamal, probé varias bibliotecas con los siguientes resultados:
Recomiendo este: jsbn.js de Tom Wu ( http://www-cs-students.stanford.edu/~tjw/jsbn/ )
- Conjunto completo de funciones y rápido.
Biblioteca de enteros grandes de Leemon Baird ( http://www.leemon.com/crypto/BigInt.js )
- Conjunto completo de funciones y bastante rápido.
- PERO: ¡ La representación de números negativos tiene errores!
bignumber.js ( https://github.com/MikeMcl/bignumber.js )
- Conjunto de funciones bastante completo.
- PERO: La conversión de números realmente grandes de cadenas en objetos BigNumber da como resultado INFINITO
Biblioteca aritmética de esquemas para JavaScript ( https://github.com/jtobey/javascript-bignum )
- JS-Implementación de funciones aritméticas de esquema
- PERO: No hay función para y= x^e mod n
No lo he probado yo solo: BigNumber ( http://jsfromhell.com/classes/bignumber )
- Funciones para clasificaciones de alta precisión.
- PERO: Se dice que es lento debido a la representación interna de números como cadenas.
Hay una biblioteca BigInteger para JavaScript disponible aquí:
- jsbn.js
(Tenga en cuenta que yo no lo he usado. Pruébelo y vea lo que piensa).