tło
Format zmiennoprzecinkowy podwójnej precyzji IEEE 754 to sposób reprezentowania liczb rzeczywistych za pomocą 64 bitów. Wygląda to następująco:
![]()
Liczba rzeczywista njest konwertowana doublena następujący w następujący sposób:
- Bit znaku
sma wartość 0, jeśli liczba jest dodatnia, w przeciwnym razie 1. - Wartość bezwzględna
njest reprezentowana w postaci2**y * 1.xxx, tj. Potęga 2 razy podstawa . - Wykładnik
ewynosiy(potęga 2) minus 1023. - Ułamek
ftoxxxczęść (ułamkowa część podstawy), zajmująca najbardziej znaczące 52 bity.
I odwrotnie, wzór bitowy (zdefiniowany przez znak s, wykładnik ei ułamek f, każda liczba całkowita) reprezentuje liczbę:
(s ? -1 : 1) * 2 ** (e - 1023) * (1 + f / (2 ** 52))
Wyzwanie
Biorąc pod uwagę liczbę rzeczywistą n, wyślij jej 52-bitową część ułamkową doublereprezentacji njako liczba całkowita.
Przypadki testowe
0.0 => 0
1.2 => 900719925474099 (hex 3333333333333)
3.1 => 2476979795053773 (hex 8cccccccccccd)
3.5 => 3377699720527872 (hex c000000000000)
10.0 => 1125899906842624 (hex 4000000000000)
1234567.0 => 798825262350336 (hex 2d68700000000)
1e-256 => 2258570371166019 (hex 8062864ac6f43)
1e+256 => 1495187628212028 (hex 54fdd7f73bf3c)
-0.0 => 0
-1.2 => 900719925474099 (hex 3333333333333)
-3.1 => 2476979795053773 (hex 8cccccccccccd)
-3.5 => 3377699720527872 (hex c000000000000)
-10.0 => 1125899906842624 (hex 4000000000000)
-1234567.0 => 798825262350336 (hex 2d68700000000)
-1e-256 => 2258570371166019 (hex 8062864ac6f43)
-1e+256 => 1495187628212028 (hex 54fdd7f73bf3c)
Możesz sprawdzić inne liczby za pomocą tego odwołania C, które wykorzystuje pola bitowe i połączenie.
Pamiętaj, że oczekiwana odpowiedź jest taka sama dla dowolnej liczby +ni -ndla niej n.
Wejście i wyjście
Obowiązują standardowe zasady.
Akceptowany format wejściowy:
- Liczba zmiennoprzecinkowa, przynajmniej o
doubleprecyzji wewnętrznej - Ciąg znaków reprezentujący liczbę dziesiętną (nie trzeba obsługiwać notacji naukowej, ponieważ można użyć
1000...00lub0.0000...01jako danych wejściowych)
W przypadku danych wyjściowych dopuszczalny jest błąd zaokrąglania co najmniej znaczącego bitu.
Warunki wygranej
To jest golf golfowy , więc wygrywa najmniej bajtów w każdym języku.