2010-09-12 18 views
1

En JavaScript, pour une propriété donnée contenant une valeur Number, est-il possible de récupérer la valeur binaire réelle - les 64 bits représentant la valeur.Récupération de la valeur binaire réelle d'une valeur de numéro JavaScript?

var x = 13;

Quels sont les 64 bits stockés dans l'emplacement de mémoire vers lequel pointe x?

Je sais qu'il existe des convertisseurs IEEE 754. Mais est-il possible de récupérer la valeur binaire réelle de la cellule mémoire? BTW, je ne suis pas besoin de cela pour toute application, je suis juste curieux ...

Répondre

1

Voir Converting a decimal value to a 32bit floating-point hexadecimal, où vous pouvez trouver le code pour le cas 32 bits. Convertir cela pour le cas de 64 bits devrait être très simple. Bien, sauf que JavaScript ne vous garantit rien sur le type de données réel qui représente un Number, vous risquez d'avoir des débordements si votre implémentation JavaScript n'utilise que 32 bits pour représenter Number s.

0
(13).toString(2); // => "1101" 
+2

Il s'agit de la valeur binaire du nombre décimal 13. Ce dont je parle est le format IEEE 754 64 bits. Dans le cas de la valeur décimale 13, cela devrait être ceci (selon un convertisseur en ligne): 01000000 00101010 00000000 00000000 00000000 00000000 00000000 00000000. http://www.binaryconvert.com/convert_double.html –