double tableau de bits

3 réponses
Avatar
Thanaos
Bonjour,

J'aimerai pouvoir représenter des nombres décimaux (double) par un
tableau de bits (64 bits) et inversement.

Savez vous s'il existe un package qui le fait dans l'api java ou
eventuellement connaissez vous une api reutilisable ?

Merci pour votre aide.

Jérôme

3 réponses

Avatar
Samuel Devulder
Thanaos a écrit :
Bonjour,

J'aimerai pouvoir représenter des nombres décimaux (double) par un
tableau de bits (64 bits) et inversement.

Savez vous s'il existe un package qui le fait dans l'api java ou
eventuellement connaissez vous une api reutilisable ?



Api de base de la classe Double:

static long doubleToLongBits(double value)

Returns a representation of the specified floating-point
value according to the IEEE 754 floating-point "double format" bit layout.

Note: ici les NaN sont tous convertis en 0x7ff8000000000000L. (un NaN
générique).

static long doubleToRawLongBits(double value)

Returns a representation of the specified floating-point
value according to the IEEE 754 floating-point "double format" bit
layout, preserving Not-a-Number (NaN) values.


Avec l'inverse:

static double longBitsToDouble(long bits)

Returns the double value corresponding to a given bit
representation.

sam.
Avatar
Samuel Devulder
Samuel Devulder a écrit :


Api de base de la classe Double:

static long doubleToLongBits(double value)



Note: il n'est pas trop dur de convertir un long en tableau de bit, mais
à mon avis il est plus simple et en tout cas plus compact d'utiliser un
long pour représenter 64bits dans ton appli.

sam.
Avatar
Thanaos
Le 01/02/2010 09:45, Samuel Devulder a écrit :
Samuel Devulder a écrit :


Api de base de la classe Double:

static long doubleToLongBits(double value)



Note: il n'est pas trop dur de convertir un long en tableau de bit, mais
à mon avis il est plus simple et en tout cas plus compact d'utiliser un
long pour représenter 64bits dans ton appli.

sam.




Merci pour ces précisions en effet cette classe est parfaite.
Je suis obligé de convertir car l'appli dialogue avec un soft embarqué
qui ne comprend que les word, dword etc..