Немає вбудованої базової конверсії!
$&2%v2/;FL:vK2*;OS#
Спробуйте в Інтернеті!
У Pushy є два стеки, і ця відповідь широко використовує це.
У цій програмі є дві частини. По-перше, $&2%v2/;F
перетворює число у його зворотне бінарне подання:
\ 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)
З огляду на приклад 10, стеки виглядатимуть як наступні на кожній ітерації:
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]
Ми можемо бачити, що після остаточної ітерації 0, 1, 0, 1
було створено другий стек - зворотні двійкові цифри 10 0b1010
,.
Друга частина коду, L:vK2*;OS#
взята з моєї попередньої відповіді, яка перетворює двійкове в десяткове . Використовуючи метод, розкритий і пояснений у цій відповіді, він перетворює двійкові цифри на стеку в ціле число базового 10 і друкує результат.