⍝ ⍺-ary representation of rational ⍵:
10ary 4÷7
0.571428571428...
16ary 3÷13
0.3B13B1...
2ary 3÷7
0.011011...
3ary 2*¯4
0.00120012...
10ary 3*¯3
0.037037...
10ary ○1
3.1415926535898?
16ary ○1
3.243F6A8885A?
⍝ tricky cases:
10ary 666.6
666.6
10ary 1234.6
1234.6
10ary 1e¯2×9+10÷11
0.099090...
⍝ more ...
369+1÷7 ⍝ system formatted
369.1428571
10ary 369+1÷7 ⍝ ⍺-ary formatted
369.142857142857...
¯10ary 369+1÷7 ⍝ ⍺-ary unformatted
┌─┬─┬─────┬───────────┬─┐
│1│3│3 6 9│1 4 2 8 5 7│1│
└─┴─┴─────┴───────────┴─┘
↑10ary¨(10*¯4+⍳9)÷7 ⍝ check exp-rotation of rep field.
0.000142857142857...
0.00142857142857...
0.0142857142857...
0.142857142857...
1.428571428571...
14.285714285714...
142.857142857142...
1428.571428571428...
14285.714285714285...
¯2ary ÷141 ⍝ longish rep sequence.
┌─┬──┬┬───────────────────────────────────────────────────────────────────────────────────────────┬─┐
│1│¯7││1 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0│1│
└─┴──┴┴───────────────────────────────────────────────────────────────────────────────────────────┴─┘
⍕ 10ary¨ ÷/¨⍳10 10 ⍝ decimal (10-ary) table
1 0.5 0.33... 0.25 0.2 0.166... 0.142857142857... 0.125 0.11... 0.1
2 1 0.66... 0.5 0.4 0.33... 0.285714285714... 0.25 0.22... 0.2
3 1.5 1 0.75 0.6 0.5 0.428571428571... 0.375 0.33... 0.3
4 2 1.33... 1 0.8 0.66... 0.571428571428... 0.5 0.44... 0.4
5 2.5 1.66... 1.25 1 0.833... 0.714285714285... 0.625 0.55... 0.5
6 3 2 1.5 1.2 1 0.857142857142... 0.75 0.66... 0.6
7 3.5 2.33... 1.75 1.4 1.166... 1 0.875 0.77... 0.7
8 4 2.66... 2 1.6 1.33... 1.142857142857... 1 0.88... 0.8
9 4.5 3 2.25 1.8 1.5 1.285714285714... 1.125 1 0.9
10 5 3.33... 2.5 2 1.66... 1.428571428571... 1.25 1.11... 1
⍕ 2ary¨ ÷/¨⍳10 8 ⍝ binary table
1 0.1 0.0101... 0.01 0.00110011... 0.00101... 0.001001... 0.001
10 1 0.1010... 0.1 0.01100110... 0.0101... 0.010010... 0.01
11 1.1 1 0.11 0.10011001... 0.1 0.011011... 0.011
100 10 1.0101... 1 0.11001100... 0.1010... 0.100100... 0.1
101 10.1 1.1010... 1.01 1 0.11010... 0.101101... 0.101
110 11 10 1.1 1.00110011... 1 0.110110... 0.11
111 11.1 10.0101... 1.11 1.01100110... 1.00101... 1 0.111
1000 100 10.1010... 10 1.10011001... 1.0101... 1.001001... 1
1001 100.1 11 10.01 1.11001100... 1.1 1.010010... 1.001
1010 101 11.0101... 10.1 10 1.1010... 1.011011... 1.01
⍕ 3ary¨ ÷/¨⍳10 7 ⍝ ternary table
1 0.11... 0.1 0.0202... 0.01210121... 0.011... 0.010212010212...
2 1 0.2 0.11... 0.10121012... 0.1 0.021201021201...
10 1.11... 1 0.2020... 0.12101210... 0.11... 0.102120102120...
11 2 1.1 1 0.21012101... 0.2 0.120102120102...
12 2.11... 1.2 1.0202... 1 0.211... 0.201021201021...
20 10 2 1.11... 1.01210121... 1 0.212010212010...
21 10.11... 2.1 1.2020... 1.10121012... 1.011... 1
22 11 2.2 2 1.12101210... 1.1 1.010212010212...
100 11.11... 10 2.0202... 1.21012101... 1.11... 1.021201021201...
101 12 10.1 2.11... 2 1.2 1.102120102120...
⍕ 16ary¨ ÷/¨⍳10 9 ⍝ hexadecimal table
1 0.8 0.55... 0.4 0.33... 0.2AA... 0.249249... 0.2 0.1C71C7...
2 1 0.AA... 0.8 0.66... 0.55... 0.492492... 0.4 0.38E38E...
3 1.8 1 0.C 0.99... 0.8 0.6DB6DB... 0.6 0.55...
4 2 1.55... 1 0.CC... 0.AA... 0.924924... 0.8 0.71C71C...
5 2.8 1.AA... 1.4 1 0.D55... 0.B6DB6D... 0.A 0.8E38E3...
6 3 2 1.8 1.33... 1 0.DB6DB6... 0.C 0.AA...
7 3.8 2.55... 1.C 1.66... 1.2AA... 1 0.E 0.C71C71...
8 4 2.AA... 2 1.99... 1.55... 1.249249... 1 0.E38E38...
9 4.8 3 2.4 1.CC... 1.8 1.492492... 1.2 1
A 5 3.55... 2.8 2 1.AA... 1.6DB6DB... 1.4 1.1C71C7...
⍕ 20ary¨ ÷/¨⍳10 9 ⍝ vigesimal (20-ary) table
1 0.A 0.6D6D... 0.5 0.4 0.36D6D... 0.2H2H... 0.2A 0.248HFB248HFB...
2 1 0.D6D6... 0.A 0.8 0.6D6D... 0.5E5E... 0.5 0.48HFB248HFB2...
3 1.A 1 0.F 0.C 0.A 0.8B8B... 0.7A 0.6D6D...
4 2 1.6D6D... 1 0.G 0.D6D6... 0.B8B8... 0.A 0.8HFB248HFB24...
5 2.A 1.D6D6... 1.5 1 0.GD6D6... 0.E5E5... 0.CA 0.B248HFB248HF...
6 3 2 1.A 1.4 1 0.H2H2... 0.F 0.D6D6...
7 3.A 2.6D6D... 1.F 1.8 1.36D6D... 1 0.HA 0.FB248HFB248H...
8 4 2.D6D6... 2 1.C 1.6D6D... 1.2H2H... 1 0.HFB248HFB248...
9 4.A 3 2.5 1.G 1.A 1.5E5E... 1.2A 1
A 5 3.6D6D... 2.A 2 1.D6D6... 1.8B8B... 1.5 1.248HFB248HFB...
⎕ct←1e¯14
36ary 55 ⍝ Quario/Garue test case:
1J
⎕ct←1e¯15
36ary 55
1J
⎕ct←1e¯16
:If ⎕FR=645
36ary 55
1I.ZZZZZZZZZ?
:Else ⍝ <V>1287
:EndIf
⍝∇ ary
Back to: code
Back to: Workspaces