Las matrices de JavaScript, implementadas en Firefox 4 y Chrome 7, son una manera muy eficiente de almacenar y trabajar con datos binarios en JavaScript. Sin embargo, las implementaciones actuales solo proporcionan vistas enteras de hasta 32 bits por miembro, con Int32Array
y Uint32Array
. ¿Se están planificando las vistas enteras de 64 bits para la implementación? ¿Cómo puedo implementar vistas enteras de 64 bits? ¿Cuánto más lento serán?Arrays de JavaScript: ¿números enteros de 64 bits?
Respuesta
No hay forma práctica de implementar un Int64Array
, porque todos los números en JavaScript son de 64 bits de punto flotante números, que sólo tienen 53 bits de precisión. Como dijo Simeon en su comentario, podrías usar una gran biblioteca de enteros, pero sería mucho más lenta.
Si realmente necesita una matriz de enteros de 64 bits, independientemente del rendimiento, la biblioteca de cierre de Google tiene un 64-bit Long
class que me imagino que es más rápido que una biblioteca de enteros grandes más general. Sin embargo, nunca lo he usado, y no sé si puedes separarlo fácilmente del resto de la biblioteca.
Solo lanzando mis $ 0.02 aquí sobre un tema antiguo: I necesitaba una clase int de 64 bits en una aplicación flash que estaba escribiendo hace un tiempo. Basé mi implementación en cierres Clase "larga" sin problemas - no hay dependencias de clases externas. – jordancpaul
@jordancpaul Gracias, eso es bueno saberlo! –
- 1. ¿Utiliza Lua números enteros de 64 bits?
- 2. JavaScript no puede manejar enteros de 64 bits, ¿o sí?
- 3. Agregar números de 64 bits con aritmética de 32 bits
- 4. NSDecimalNumber y enteros largos largos sin firmar (64 bits)
- 5. Emulación SSE optimizada de enteros de 64 bits
- 6. Cómo generar enteros únicos de 64 bits de Python?
- 7. JavaScript 64 bits de precisión numérica
- 8. Números grandes que requieren representación de más de 64 bits
- 9. Número de bits en los números de Javascript
- 10. Agregando dos números de 64 bits en el ensamblaje
- 11. Colocar comas en números enteros Javascript
- 12. Arrays enteros de Postgres como parámetros?
- 13. Bits representación de números negativos
- 14. ¿Cómo simulo una rotación a nivel de bits de un entero de 64 bits (sin signo) en JavaScript?
- 15. ¿Cómo se almacenan los enteros de 64 bits sin signo en SQL Server?
- 16. generar aleatoria de 64 bits número entero
- 17. enteros en JavaScript
- 18. 64 bits por división de 32 bits
- 19. ¿Aplicación de 32 bits o de 64 bits en el sistema operativo de 64 bits?
- 20. enteros de 32 bits sin signo en Javascript
- 21. Haskell tipo numérico de 64 bits
- 22. Aplicaciones Java de 64 bits: ¿Se requiere un SO de 64 bits, un JRE de 64 bits y una Aplicación de 64 bits?
- 23. Cruce de dos enteros en bits
- 24. IEEE-754 Doble (coma flotante de 64 bits) vs. Largo (Entero de 64 bits) Revisited
- 25. Pregunta Quicktime de 64 bits
- 26. Validar números enteros positivos
- 27. Implementación de flotantes de 32 bits o longs de 64 bits en JavaScript?
- 28. 64 bits ODBC Excepción
- 29. Biblioteca de enteros de 128 bits más rápida
- 30. Convierte números enteros a los números escritos
¿Podría usar una biblioteca JS BigInt y almacenarlas en matrices? – Simeon
Eso estaría bien para el uso ligero, pero terriblemente lento para los propósitos que las matrices tipadas se crearon para resolver (es decir, almacenamiento y manipulación enteros/flotantes eficientes a gran escala). –
¿Una lib específica de BigInt utilizando Int32Array como almacenamiento base? – Simeon