Antecedentes
IEEE 754 El formato de coma flotante de doble precisión es una forma de representar números reales con 64 bits. Se parece a lo siguiente:
![]()
Un número real nse convierte doubleen a de la siguiente manera:
- El bit de signo
ses 0 si el número es positivo, 1 de lo contrario. - El valor absoluto de
nse representa en la forma2**y * 1.xxx, es decir, una potencia de 2 veces una base . - El exponente
eesy(la potencia de 2) menos 1023. - La fracción
fes laxxxparte (parte fraccional de la base), que toma los 52 bits más significativos.
Por el contrario, un patrón de bits (definido por signo s, exponente ey fracción f, cada uno un número entero) representa el número:
(s ? -1 : 1) * 2 ** (e - 1023) * (1 + f / (2 ** 52))
Desafío
Dado un número real n, genera su fracción de 52 bits como parte de la doublerepresentación de nun entero.
Casos de prueba
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)
Puede verificar otros números usando esta referencia C que usa campos de bits y una unión.
Tenga en cuenta que la respuesta esperada es la misma para +ny -npara cualquier número n.
Entrada y salida
Aplican reglas estándar.
Formato de entrada aceptado:
- Un número de coma flotante, al menos con
doubleprecisión interna - Una representación de cadena del número en decimal (no necesita admitir notación científica, ya que puede usar
1000...00o0.0000...01como entrada)
Para la salida, es tolerable un error de redondeo en el bit menos significativo.
Condición ganadora
Este es el código de golf , por lo que gana los bytes más bajos en cada idioma.