Yerleşik taban dönüşümü yok!
$&2%v2/;FL:vK2*;OS#
Çevrimiçi deneyin!
Pushy'nin iki yığını vardır ve bu cevap bu konuyu yoğun şekilde kullanır.
Bu programın iki bölümü var. İlk olarak, $&2%v2/;F
sayıyı ters ikili gösterimine dönüştürür:
\ 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)
Örnek 10 verildiğinde, her yinelemede yığınlar aşağıdaki gibi görünecektir:
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]
Son yinelemenin 0, 1, 0, 1
ardından ikinci yığında yaratıldığını görebiliriz - 10'un ters ikili basamağı 0b1010
,.
Kodun ikinci kısmı, ikiliyi ondalık sayıyaL:vK2*;OS#
dönüştüren önceki cevabımdan alınmıştır . Bu cevapta açıklanan ve açıklanan yöntemi kullanarak, yığındaki ikili sayıları 10 tabanlı bir tam sayıya dönüştürür ve sonucu yazdırır.