Pushy , 19 bytes
¡Sin conversión de base integrada!
$&2%v2/;FL:vK2*;OS#
Pruébalo en línea!
Pushy tiene dos pilas, y esta respuesta hace uso de esto ampliamente.
Hay dos partes dos en este programa. Primero, $&2%v2/;F
convierte el número a su representación binaria inversa:
\ Implicit: Input is an integer on main stack.
$ ; \ While i != 0:
&2%v \ Put i % 2 on auxiliary stack
2/ \ i = i // 2 (integer division)
F \ Swap stacks (so result is on main stack)
Dado el ejemplo 10, las pilas aparecerían de la siguiente manera en cada iteración:
1: [10]
2: []
1: [5]
2: [0]
1: [2]
2: [0, 1]
1: [1]
2: [0, 1, 0]
1: [0]
2: [0, 1, 0, 1]
Podemos ver que después de la iteración final, 0, 1, 0, 1
se ha creado en la segunda pila - los dígitos binarios inversas de 10, 0b1010
.
La segunda parte del código, L:vK2*;OS#
se toma de mi respuesta anterior que convierte binario a decimal . Usando el método descifrado y explicado en esa respuesta, convierte los dígitos binarios en la pila en un entero de base 10 e imprime el resultado.