En dialogant avec un équipement, imaginons que je puisse récupérer une
valeur sur 64 bits. Je la stocke dans un long, 64 bits en Java. Puis je veux
la transférer dans un double. OK
Maintenant, je sais que cette valeur peut n'être composée que de bit à 1 et
est non signée : 0xFFFF.....FFFFF. Là, le problème apparait, car pour Java,
cette valeur est signé et vaut donc -1. Une fois transférée dans mon double,
j'ai -1 au lieu d'avoir ~18E18.
Ma question est donc : comment arriver avec la valeur correcte dans mon
double ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé AGNOUX
Xavier wrote:
Une idée ?
Je n'ai pas tout suivi, mais peut être pourrais-tu trouver ton bonheur avec java.math.BigInteger / BigDecimal. Ils semblent avoir pensé à ce genre de problème.
Et puis peut être aussi Commons Math, mais on sort du jdk : http://jakarta.apache.org/commons/math/
Cordialement.
-- Hervé AGNOUX http://www.diaam-informatique.com
Xavier wrote:
Une idée ?
Je n'ai pas tout suivi, mais peut être pourrais-tu trouver ton bonheur avec
java.math.BigInteger / BigDecimal. Ils semblent avoir pensé à ce genre de
problème.
Et puis peut être aussi Commons Math, mais on sort du jdk :
http://jakarta.apache.org/commons/math/
Je n'ai pas tout suivi, mais peut être pourrais-tu trouver ton bonheur avec java.math.BigInteger / BigDecimal. Ils semblent avoir pensé à ce genre de problème.
Et puis peut être aussi Commons Math, mais on sort du jdk : http://jakarta.apache.org/commons/math/