¿JavaScript tiene precisión numérica de doble coma flotante?


Sé que es una pregunta extraña, pero ¿JavaScript tiene la capacidad de trabajar con dobles en lugar de flotadores individuales? (flotadores de 64 bits vs. 32 bits.)

Author: Peter Mortensen, 2010-08-31

3 answers

Todos los números en JavaScript son números de coma flotante de 64 bits.

Ref:

Http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Reference

Http://www.crockford.com/javascript/survey.html

 35
Author: Moin Zaman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-08 15:50:28

De acuerdo con la especificación ECMA-262 (ECMAScript es la especificación para Javascript), sección 8.5:

El tipo de número tiene exactamente 18437736874454810627 (es decir, 264-253+3) valores, que representan el formato de doble precisión de 64 bits IEEE 754 valores especificados en el Estándar IEEE para Aritmética Binaria de Coma Flotante

Fuente: http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf (PDF)

 31
Author: Daniel Vandersluis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-31 04:05:04

En javascript type numberes un número flotante de 64 bits que admite el estándar IEEE 754 y es como double en C. Y puede crear matrices de 32 bits escritas por comandos a continuación y controlar cada byte en cada componente mediante el enlace del búfer correspondiente.

let a = new Float32Array(length);
let b = new Float64Array(length);

Pero tenga en cuenta que no es compatible con IE9, aquí compatibilidad del navegador tabla.

Si desea una precisión extendida como long double, puede usar double.js o decimal.js biblioteca.

 -1
Author: Pavel Melnikov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-23 11:02:50