konwersja BinaryString do double

0

Witam, mam kod który zmienia wylosowaną liczbę typu double z zakresu na BinaryString:

zmienna=Long.toBinaryString(Double.doubleToLongBits(losuj(1,19)));

przykładowym wynikiem będzie wylosowana liczba 12.09083508662785, która w Stringu da 100000000011000000000010011011011111000111010100001100110100011

Teraz problem - chciałbym wrócić teraz do doubla nie tracąc żadnej liczby po przecinku to znaczy aby nie nastąpiło żadne zaokrąglenie.
Czy coś takiego jest w ogóle możliwe?

0

Spróbuj tak:

Random random = new Random();
double randomDobule = random.nextDouble();
String zmienna = Long.toBinaryString(Double.doubleToLongBits(randomDobule));
double doubleValue = Double.longBitsToDouble(new BigInteger(zmienna, 2).longValue());

System.out.println(randomDobule);
System.out.println(zmienna);
System.out.println(doubleValue);
0

Super, o to mi właśnie chodziło, dziękuję bardzo!

1 użytkowników online, w tym zalogowanych: 0, gości: 1