Devise an algorithm for writing any positive base ten integer in base 3/2.
How about writing any positive base ten rational number in base 3/2?
It would be nice to have only one way of writing a number, but in base-3/2 there are many ways to write a number. For example, an obvious way of writing 9/4 would be 100. As I found out later, the apparently standard way (if there is such a thing) is
2.0001000100100001000100010000010010001000001001001000001000001001000100100010000
using a digit 2, which I in my inexperienced state thought would not be allowed, given that it's higher than the base.
I started with the assumption that no digit could be higher than the base, limiting the digit choices to zero and one. Further, given that assumption, I could find no way of proceeding from the radix point leftward to find the integral part of the number, so I found a way to proceed from the very leftmost position, using logs to find where to begin.
base=sym(3/2);
for num=1:16
for den=1:16
n=sym(num)/sym(den);
if gcd(num,den)==1
p=sym(floor(eval(log(n)/log(base))));
n1=sym(n); rep='';
if n1<1
p=0;
end
while n1>0 && length(rep)<100 || p>=0
q=sym(floor(n1/base^p));
if q>=1
rep=[rep char(string(q))];
else
rep=[rep '0'];
end
if p==0
rep=[rep '.'];
end
n1=n1-q*base^p;
p=p-1;
end
disp([char(string(n)) ' ' rep]);
end
end
end
1 1.
1/2 0.01000001001001010000000001000000100001000000100100101000000000001000100100000001001000001000010000
1/3 0.00100000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
1/4 0.00010001001000010001000100000100100010000010010010000010000010010001001000100000100100001001001000
1/5 0.00010000000000100000010010010000000100000001010000001001000010000100000001000010000000000000100010
1/6 0.00001000100100001000100010000010010001000001001001000001000001001000100100010000010010000100100100
1/7 0.00001000000101000000000001001001000100001000001000010000000100010010001000000100100010000000101000
1/8 0.00000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000000
1/9 0.00000100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010
1/10 0.00000100001000000010010100000001001010000001000100000010010010010000000100000010000010000010010000
1/11 0.00000100000000100100010000100100001000100000000001010000001001010000001000100000010000000000000000
1/12 0.00000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100000
1/13 0.00000010010000001000000001010000001000010000010100000010001001001001000010001001001010000000010001
1/14 0.00000010001000001001000000100100010010000100010000001000100100001000000010000010000000001010000000
1/15 0.00000010000100000001001010000000100101000000100010000001001001001000000010000001000001000001001000
1/16 0.00000010000001000010001000000100010010010000010010000001000100010000010100000100100000100100001000
2 10.0100000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
2/3 0.1
2/5 0.00100100001001000100100010001000010000010010000100000010000100000100010000010001000100100000010010
2/7 0.00010100000000000001001000000000100100001010000010000100010000001000001000001001000100000001001000
2/9 0.00010000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100
2/11 0.00001001000100101000001000010100000100000001000010001010000001001000100010010001001010000000000000
2/13 0.00001000010001001001000100010010100000000100001000100010000001000100100100000101000001001000100010
2/15 0.00001000000000010000001001001000000010000000101000000100100001000010000000100001000000000000010001
3 100.100000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
3/2 10.
3/4 0.10000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100000
3/5 0.01001000010010001001000100010000100000100100001000000100001000001000100000100010001001000000100100
3/7 0.00101000000000000010010000000001001000010100000100001000100000010000010000010010001000000010010000
3/8 0.00100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010000
3/10 0.00100000000001000000100100100000001000000010100000010010000100001000000010000100000000000001000100
3/11 0.00010010001001010000010000101000001000000010000100010100000010010001000100100010010100000000000000
3/13 0.00010000100010010010001000100101000000001000010001000100000010001001001000001010000010010001000100
3/14 0.00010000001010000000000010010010001000010000010000100000001000100100010000001001000100000001010000
3/16 0.00001001001010000000001000000100001000000100100101000000000001000100100000001001000001000010000001
4 1000.01001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
4/3 1.00100000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
4/5 0.10001000000000010000001001001000000010000000101000000100100001000010000000100001000000000000010001
4/7 0.01000101000000000000010010000000001001000010100000100001000100000010000010000010010001000000010010
4/9 0.01
4/11 0.00100010000100001000001000000000001010000000000000100001001001001001000100100101000000100100100100
4/13 0.00100000000101000000100100000001001001001001000001001001000001010000000000100001000100000000100001
4/15 0.00010010000100100010010001000100001000001001000010000001000010000010001000001000100010010000001001
5 1010.00000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
5/2 100.000100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010
5/3 10.0000100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010
5/4 1.00010001001000010001000100000100100010000010010010000010000010010001001000100000100100001001001000
5/6 0.10001000100100001000100010000010010001000001001001000001000001001000100100010000010010000100100100
5/7 0.10000001000100000100100000010010001001000010001000000100010010000100000001000001000000000101000000
5/8 0.01001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001001
5/9 0.01000100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010
5/11 0.01000000000100100000001000100001001001010000000000010010010000100000001000100100010000100001000000
5/12 0.00100100100010001001001000100100001000000100100001000000010000000000100001001000010001001000000100
5/13 0.00100100000000000010000100010100000000100000100000000100000000001000000000000010000100100000000000
5/14 0.00100010000000100000000001001000001010000001000101000000100001001001000010010000010010001000000001
5/16 0.00100000001001001000100000000000100001000000000010000100000000100000001000001000000000010001001001
6 10000.1001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
6/5 1.00010000000000100000010010010000000100000001010000001001000010000100000001000010000000000000100010
6/7 0.10001010000000000000100100000000010010000101000001000010001000000100000100000100100010000000100100
6/11 0.01000100001000010000010000000000010100000000000001000010010010010010001001001010000001001001001000
6/13 0.01000000001010000001001000000010010010010010000010010010000010100000000001000010001000000001000010
7 10010.0010100000010001000010010100000000001000100100000100000010000010000000001010000000100000100100
7/2 1000.00000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
7/3 100.000000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
7/4 10.0001000100100001000100010000010010001000001001001000001000001001000100100010000010010000100100100
7/5 1.00100100001001000100100010001000010000010010000100000010000100000100010000010001000100100000010010
7/6 1.00001000100100001000100010000010010001000001001001000001000001001000100100010000010010000100100100
7/8 0.10010000000100100100010000000000010000100000000001000010000000010000000100000100000000001000100100
7/9 0.10000100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010
7/10 0.10000000100010010010100000001000001001001000100100100000100001000010000000101000001001000100010001
7/11 0.01001010000000010000010010001000001000001000101000001001000000000101000000010010100000001000000000
7/12 0.01001000000010010010001000000000001000010000000000100001000000001000000010000010000000000100010010
7/13 0.01000100000010001000000100010000010001000010010010001001000100001000001000100100100000001010000000
7/15 0.01000000010001001001010000000100000100100100010010010000010000100001000000010100000100100010001000
7/16 0.00101000000100010000100101000000000010001001000001000000100000100000000010100000001000001001001000
8 100000.001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
8/3 100.001001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
8/5 10.0000010000100000001001010000000100101000000100010000001001001001000000010000001000001000001001000
8/7 1.00001000000101000000000001001001000100001000001000010000000100010010001000000100100010000000101000
8/9 0.10010000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100
8/11 0.10000010000000010010001000010010000100010000000000101000000100101000000100010000001000000000000000
8/13 0.01001001000000000000100001000101000000001000001000000001000000000010000000000000100001001000000000
8/15 0.01000100000000001000000100100100000001000000010100000010010000100001000000010000100000000000001000
9 100001.001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
9/2 1001.00000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
9/4 100.
9/5 10.0010000000000100000010010010000000100000001010000001001000010000100000001000010000000000000100010
9/7 1.00010100000000000001001000000000100100001010000010000100010000001000001000001001000100000001001000
9/8 1.00000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000000
9/10 0.10010000100100010010001000100001000001001000010000001000010000010001000001000100010010000001001000
9/11 0.10001000010000100000100000000000101000000000000010000100100100100100010010010100000010010010010000
9/13 0.10000000010100000010010000000100100100100100000100100100000101000000000010000100010000000010000100
9/14 0.01010000000000000100100000000010010000101000001000010001000000100000100000100100010000000100100001
9/16 0.01000100100001000100010000010010001000001001001000001000001001000100100010000010010000100100100000
10 100100.000010000100100100100010001000010000100101000001001001000100001001000010000000001000100100100
10/3 101.000000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
10/7 1.00101000000000000010010000000001001000010100000100001000100000010000010000010010001000000010010000
10/9 1.00000100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010
10/11 0.10010001000010000100000100000000000101000000000000010000100100100100100010010010100000010010010010
10/13 0.10000100001000100100100010001001010000000010000100010001000000100010010010000010100000100100010001
11 101000.000000001000100000000010000010010000010000010010010010001000100010000100100000100001000100000
11/2 10000.0010100000010001000010010100000000001000100100000100000010000010000000001010000000100000100100
11/3 1000.00010100000010001000010010100000000001000100100000100000010000010000000001010000000100000100100
11/4 100.010000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100
11/5 10.1000000010001001001010000000100000100100100010010010000010000100001000000010100000100100010001000
11/6 10.0010000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100
11/7 10.0000001000100000100100000010010001001000010001000000100010010000100000001000001000000000101000000
11/8 1.00100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010000
11/9 1.00010000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100
11/10 1.00000100001000000010010100000001001010000001000100000010010010010000000100000010000010000010010000
11/12 0.10010001001000010001000100000100100010000010010010000010000010010001001000100000100100001001001000
11/13 0.10001001000100001000000010100000100010010100000100010001000000101000000010000010010100000010100000
11/14 0.10000100100010000000001000010010010001000100010000001001001000000010100000000000010000100000100100
11/15 0.10000010000100000001001010000000100101000000100010000001001001001000000010000001000001000001001000
11/16 0.10000000010001000000000100000100100000100000100100100100010001000100001001000001000010001000000001
12 1000000.01001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
12/5 100.000010000100000001001010000000100101000000100010000001001001001000000010000001000001000001001000
12/7 10.0001000000101000000000001001001000100001000001000010000000100010010001000000100100010000000101000
12/11 1.00000100000000100100010000100100001000100000000001010000001001010000001000100000010000000000000000
12/13 0.10010010000000000001000010001010000000010000010000000010000000000100000000000001000010010000000000
13 1000010.00000100010001000100010000000100001001001001001001001000000000001000010000100010000100000000
13/2 10001.0010100000010001000010010100000000001000100100000100000010000010000000001010000000100000100100
13/3 1000.10010100000010001000010010100000000001000100100000100000010000010000000001010000000100000100100
13/4 101.
13/5 100.001000010010001001000100010000100000100100001000000100001000001000100000100010001001000000100100
13/6 10.1
13/7 10.0010001000000010000000000100100000101000000100010100000010000100100100001001000001001000100000000
13/8 10.0000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100000
13/9 1.01
13/10 1.00100000000001000000100100100000001000000010100000010010000100001000000010000100000000000001000100
13/11 1.00001001000100101000001000010100000100000001000010001010000001001000100010010001001010000000000000
13/12 1.00000010010010100000000010000001000010000001001001010000000000010001001000000010010000010000100000
13/14 0.10010010000010000100000001000010010010100000100010000010000010100000100100000100001000100100100100
13/15 0.10010000000000100000010010010000000100000001010000001001000010000100000001000010000000000000100010
13/16 0.10001000001000100001000000000000000101000001000100010010001000010010010001000000000000100010000001
14 1000100.00100010000001001000001000100010000010010000100100000000001000101000001001001000001000001010
14/3 1001.00010100000010001000010010100000000001000100100000100000010000010000000001010000000100000100100
14/5 100.010001000100000000010010010001000100000001000100010010010001000010010000100010000100100100000100
14/9 10.0000000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
14/11 1.00010010001001010000010000101000001000000010000100010100000010010001000100100010010100000000000000
14/13 1.00000010010000001000000001010000001000010000010100000010001001001001000010001001001010000000010001
14/15 0.10010010000100100010010001000100001000001001000010000001000010000010001000001000100010010000001001
15 1001000.00010000100100100100010001000010000100101000001001001000100001001000010000000001000100100100
15/2 10100.0000100100101000000000100000010000100000010010010100000000000100010010000000100100000100001000
15/4 1000.00100010010000100010001000001001000100000100100100000100000100100010010001000001001000010010010
15/7 10.0101000000000000010010000000001001000010100000100001000100000010000010000010010001000000010010000
15/8 10.0010001001000010001000100000100100010000010010010000010000010010001001000100000100100001001001000
15/11 1.00100010000100001000001000000000001010000000000000100001001001001001000100100101000000100100100100
15/13 1.00001000010001001001000100010010100000000100001000100010000001000100100100000101000001001000100010
15/14 1.00000010001000001001000000100100010010000100010000001000100100001000000010000010000000001010000000
15/16 0.10010010001000100100100010010000100000010010000100000001000000000010000100100001000100100000010010
16 1001001.00010000100100100100010001000010000100101000001001001000100001001000010000000001000100100100
16/3 10000.0001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
16/5 100.100100101000000010001000100001001010000000001001001000001000100010001000001000100100000100000010
16/7 100.000000001001000100100000001000100000000000100010100000100010010010000010010000000000001010000001
16/9 10.0001001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
16/11 1.01000000000100100000001000100001001001010000000000010010010000100000001000100100010000100001000000
16/13 1.00010000100010010010001000100101000000001000010001000100000010001001001000001010000010010001000100
16/15 1.00000010000100000001001010000000100101000000100010000001001001001000000010000001000001000001001000
But this does not show a critical case: 4/9+8/27, which analytically should be 0.011, but is given as
20/27 0.10000010001001000010001000100000100100010000010010010000010000010010001001000100000100100001001001
because of the greedy algorithm used. It's not wrong per se, but merely illustrates that the representation is not unique when using this base. 20/27 is approximately 0.740740740740741. The above representation is equivalent to
b^-1 + b^-7 + b^-11 + b^-14 + b^-19 + b^-23 + ...
The terms shown before the ellipsis total 0.7407210352451, showing the goal is reachable when carried out.
Integer bases have unique representations, so they can use a greedy algorithm to get the unique answer. Here the answers are not unique.
In decimal notation, non-unique representations are rarer, occurring only where the fractional part may be .99999999999999999..., equivalent to making the unit position one higher.
But a further difficulty with this system is that integers are represented by sequences that extend to the right of the radix point, seemingly without end altogether.
An algorithm that looks ahead fixes some of the problems can give 20/27 as .011, but not the problem with integers' representations extending past the radix point. It gives 4 as
101.010100101100010101010101001001000110010010110001100100110001010101001100010101011001001010101011
instead of
1000.01001001000100010010010001001000010000001001000010000000100000000001000010010000100010010000001
but neither of these two representations (both do add up to 4) looks like what we think that an integer should look like.
Edited on July 29, 2022, 10:22 am
|
Posted by Charlie
on 2022-07-29 10:21:02 |