Block’n’Role

How low can you go? When it comes to standard bases in mathematics, you can’t go lower than 2. But base 2, or binary, is unsurpassable for simplicity and beauty. With only two digits, 1 and 0, you can capture any integer you like:

• 0, 1, 2, 3, 4, 5... -> 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011, 10100, 10101, 10110, 10111, 11000, 11001, 11010, 11011, 11100, 11101, 11110, 11111, 100000, 100001, 100010, 100011, 100100, 100101, 100110, 100111, 101000, 101001, 101010, 101011, 101100, 101101, 101110, 101111, 110000, 110001, 110010, 110011, 110100, 110101, 110110, 110111, 111000, 111001, 111010, 111011, 111100, 111101, 111110, 111111...


Here are a few famous decimal numbers in binary:

• 23 = 10111 in binary
• 666 = 1010011010 in binary
• 1492 = 10111010100 in binary
• 2001 = 11111010001 in binary

As you can see, there’s a problem with binary for human beings. It takes up a lot of space and doesn’t look very distinctive. But that’s easy to solve by converting binary into octal (base 8) or hexadecimal (base 16). One digit in octal is worth three digits in binary and one digit in hexadecimal is worth four digits in binary. So the conversion back and forth is very easy:

• 23 = 10111 → (010,111) → 27 in octal
• 23 = 10111 → (0001,0111) → 17 in hexadecimal
• 666 = 1010011010 → (001,010,011,010) → 1232 in octal
• 666 = 1010011010 → (0010,1001,1010) → 29A in hexademical
• 1492 = 10111010100 → (010,111,010,100) → 2724 in octal
• 1492 = 10111010100 → (0101,1101,0100) → 5D4 in hexademical
• 2001 = 11111010001 → (011,111,010,001) → 3721 in octal
• 2001 = 11111010001 → (0111,1101,0001) → 7D1 in hexademical

But there’s another way to compress a binary number: count the lengths of the runs of 1 and 0. For example, 23 = 10111 and 10111 → one 1, one 0, three 1s → (1,1,3) → 113. That’s not much of a compression, but it usually gets better as the numbers get bigger:

• 2001 = 11111010001 → (5,1,1,3,1) → 51131

From the compressed form you can easily re-create the binary number:

• 51131 → (5,1,1,3,1) → (11111,0,1,000,1) → 11111010001

This block-compression doesn’t work with any other standard base. For example, the compressed form (1,2) in ternary, or base 3, is ambiguous:

• (1,2) → (1,00) → 100 in base 3 = 09 in decimal
• (1,2) → (1,22) → 122 in base 3 = 17 in decimal
• (1,2) → (2,00) → 200 in base 3 = 18 in decimal
• (1,2) → (2,11) → 211 in base 3 = 22 in decimal

The higher the base, the bigger the ambiguity. But ambiguity exists with binary block-compressions too. Look at 51131 ← 11111010001 = 2001 in decimal. Out of context, 51131 is infinitely ambiguous. It could represent a number in any base higher than 5:

• 51131 in base 06 = 006751 in base 10
• 51131 in base 07 = 012419 in base 10
• 51131 in base 08 = 021081 in base 10
• 51131 in base 09 = 033643 in base 10
• 51131 in base 10 = 051131 in base 10
• 51131 in base 11 = 074691 in base 10
• 51131 in base 12 = 105589 in base 10
• 51131 in base 13 = 145211 in base 10
• 51131 in base 14 = 195063 in base 10
• 51131 in base 15 = 256771 in base 10
• 51131 in base 16 = 332081 in base 10
• 51131 in base 17 = 422859 in base 10
• 51131 in base 18 = 531091 in base 10
• 51131 in base 19 = 658883 in base 10
• 51131 in base 20 = 808461 in base 10...

But that ambiguity raises an interesting question. Does the binary block-compression of n ever match the digits of n in another base? Yes, it does:

• 23 = 10111 in base 2 → (1,1,3) and 113 in base 4 = 10111 in base 2 = 23 in base 10

113 in base 4 = 1*4^2 + 1*4 + 3*4^0 = 16+4+3 = 23. You could call this “Block’n’Role”, because the blocks of 1 and 0 allow a binary number to retain its identity but take on a different role, that is, represent a number in a different base. Here’s a list of binary block-numbers that match the digits of n in another base:

• 10111 → (1,1,3) = 113 in base 4 (n=23)
• 11001 → (2,2,1) = 221 in base 3 (n=25)
• 101100 → (1,1,2,2) = 1122 in base 3 (n=44)
• 111001 → (3,2,1) = 321 in base 4 (n=57)
• 1011111 → (1,1,5) = 115 in base 9 (n=95)
• 1100001 → (2,4,1) = 241 in base 6 (n=97)
• 11100001 → (3,4,1) = 341 in base 8 (n=225)
• 100110000 → (1,2,2,4) = 1224 in base 6 (n=304)
• 101110111 → (1,1,3,1,3) = 11313 in base 4 (n=375)
• 111111001 → (6,2,1) = 621 in base 9 (n=505)
• 1110010111 → (3,2,1,1,3) = 32113 in base 4 (n=919)
• 10000011111 → (1,5,5) = 155 in base 30 (n=1055)
• 11111100001 → (6,4,1) = 641 in base 18 (n=2017)
• 1011101110111 → (1,1,3,1,3,1,3) = 1131313 in base 4 (n=6007)
• 11100101110111 → (3,2,1,1,3,1,3) = 3211313 in base 4 (n=14711)
• 10111011101110111 → (1,1,3,1,3,1,3,1,3) = 113131313 in base 4 (n=96119)
• 111001011101110111 → (3,2,1,1,3,1,3,1,3) = 321131313 in base 4 (n=235383)
• 100000111111111000001 → (1,5,9,5,1) = 15951 in base 31 (n=1081281)
• 101110111011101110111 → 11313131313 in b4 = 1537911
• 1110010111011101110111 → 32113131313 in b4 = 3766135
• 1011101110111011101110111 → 1131313131313 in b4 = 24606583
• 11100101110111011101110111 → 3211313131313 in b4 = 60258167
• 10111011101110111011101110111 → 113131313131313 in b4 = 393705335
• 111001011101110111011101110111 → 321131313131313 in b4 = 964130679

The list of block-nums is incomplete, because I’ve skipped some trivial examples where, for all powers 2^p > 2^2, the block-num is “1P” in base b = (2^p – p). For example:

• 2^3 = 08 = 1000 in base 2 → (1,3) and 13 in base 5 = 8, where 5 = 2^3-3 = 8-3
• 2^4 = 16 = 10000 in base 2 → (1,4) and 14 in base 12 = 16, where 12 = 2^4-4 = 16-4
• 2^5 = 32 = 100000 in base 2 → (1,5) and 15 in base 27 = 32, where 27 = 2^5-5 = 32-5
• 2^6 = 64 = 1000000 in base 2 → (1,6) and 16 in base 58 = 64, where 58 = 2^6-6 = 64-6

And note that the block-num matches in base 4 continue for ever, because the pairs 113… and 321… generate their successors using simple formulae in base 4:

• 113... * 100 + 13
• 321... * 100 + 13

For example, 113 and 321 are the first pair of matches:

• 10111 → (1,1,3) = 113 in base 4 (n=23)
• 111001 → (3,2,1) = 321 in base 4 (n=57)

In base 4, 113 * 100 + 13 = 11313 and 321 * 100 + 13 = 32113:

• 101110111 → (1,1,3,1,3) = 11313 in base 4 (n=375)
• 1110010111 → (3,2,1,1,3) = 32113 in base 4 (n=919)

Next, 11313 * 100 + 13 = 1131313 and 32113 * 100 + 13 = 3211313:

• 1011101110111 → (1,1,3,1,3,1,3) = 1131313 in base 4 (n=6007)
• 11100101110111 → (3,2,1,1,3,1,3) = 3211313 in base 4 (n=14711)

And so on.

Can You Dij It? #2

It’s very simple, but I’m fascinated by it. I’m talking about something I call the digit-line, or the stream of digits you get when you split numbers in a particular base into individual digits. For example, here are the numbers one to ten in bases 2 and 3:

Base = 2: 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010…
Base = 3: 1, 2, 10, 11, 12, 20, 21, 22, 100, 101…


If you turn them into digit-lines, they look like this:

Base = 2: 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0… (A030190 in the Online Encyclopedia of Integer Sequences)
Base = 3: 1, 2, 1, 0, 1, 1, 1, 2, 2, 0, 2, 1, 2, 2, 1, 0, 0, 1, 0, 1… (A003137 in the OEIS)


At the tenth digit of the two digit-lines, both digits equal zero for the first time:

Base = 2: 1, 1, 0, 1, 1, 1, 0, 0, 1, 0
Base = 3: 1, 2, 1, 0, 1, 1, 1, 2, 2, 0


When the binary and ternary digits are represented together, the digit-lines look like this:

(1,1), (1,2), (0,1), (1,0), (1,1), (1,1), (0,1), (0,2), (1,2), (0,0)


But in base 4, the tenth digit of the digit-line is 1. So when do all the digits of the digit-line first equal zero for bases 2 to 4? Here the early integers in those bases:

Base 2: 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011, 10100, 10101…

Base 3: 1, 2, 10, 11, 12, 20, 21, 22, 100, 101, 102, 110, 111, 112, 120, 121, 122, 200, 201, 202, 210, 211, 212, 220, 221, 222, 1000, 1001, 1002…

Base 4: 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33, 100, 101, 102, 103, 110, 111, 112, 113, 120, 121, 122, 123, 130, 131, 132, 133, 200…


And here are the digits of the digit-line in bases 2 to 4 represented together:

(1,1,1), (1,2,2), (0,1,3), (1,0,1), (1,1,0), (1,1,1), (0,1,1), (0,2,1), (1,2,2), (0,0,1), (1,2,3), (1,1,2), (1,2,0), (0,2,2), (1,1,1), (1,0,2), (1,0,2), (1,1,2), (0,0,3), (0,1,3), (0,1,0), (1,0,3), (0,2,1), (0,1,3), (1,1,2), (1,0,3), (0,1,3), (1,1,1), (0,1,0), (1,1,0), (0,1,1), (1,2,0), (1,1,1), (1,2,1), (1,0,0), (0,1,2), (0,2,1), (1,1,0), (1,1,3), (0,2,1), (1,2,1), (1,2,0), (1,0,1), (1,0,1), (0,2,1), (1,0,1), (1,1,1), (1,2,2), (1,0,1), (1,2,1), (0,2,3), (0,1,1), (0,0,2), (0,2,0), (1,1,1), (0,1,2), (0,2,1), (0,1,1), (1,2,2), (1,2,2), (0,2,1), (0,0,2), (1,2,3), (0,2,1), (1,1,3), (0,2,0), (0,2,1), (1,2,3), (1,1,1), (1,0,1), (0,0,3), (1,0,2), (0,1,1), (0,0,3), (1,0,3), (0,1,2), (1,1,0), (0,0,0)

At the 78th digit, all three digits equal zero. But the 78th digit of the digit-line in base 5 is 1. So when are the digits first equal to zero in bases 2 to 5? It’s not difficult to find out, but the difficulty of the search increases fast as the bases get bigger. Here are the results up to base 13 (note that bases 11 and 12 both have zeroes at digit 103721663):

dig=0 in bases 2 to 3 at the 10th digit of the digit-line
dig=0 in bases 2 to 4 at the 78th digit of the digit-line
dig=0 in bases 2 to 5 at the 182nd digit of the digit-line
dig=0 in bases 2 to 6 at the 302nd digit of the digit-line
dig=0 in bases 2 to 7 at the 12149th digit of the digit-line
dig=0 in bases 2 to 8 at the 45243rd digit of the digit-line
dig=0 in bases 2 to 9 at the 255261st digit of the digit-line
dig=0 in bases 2 to 10 at the 8850623rd digit of the digit-line
dig=0 in bases 2 to 12 at the 103721663rd digit of the digit-line
dig=0 in bases 2 to 13 at the 807778264th digit of the digit-line


I assume that, for any base b > 2, you can find some point in the digit-line at which d = 0 for all bases 2 to b. Indeed, I assume that this happens infinitely often. But I don’t know any short-cut for finding the first digit at which this occurs.


Previously pre-posted:

Can You Dij It? #1

Clock around the Rock

If you like minimalism, you should like binary. There is unsurpassable simplicity and elegance in the idea that any number can be reduced to a series of 1’s and 0’s. It’s unsurpassable because you can’t get any simpler: unless you use finger-counting, two symbols are the minimum possible. But with those two – a stark 1 and 0, true and false, yin and yang, sun and moon, black and white – you can conquer any number you please. 2 = 10[2]. 5 = 101. 100 = 1100100. 666 = 1010011010. 2013 = 11111011101. 9^9 = 387420489 = 10111000101111001000101001001. You can also perform any mathematics you please, from counting sheep to modelling the evolution of the universe.

Yin and Yang symbol

1 + 0 = ∞

But one disadvantage of binary, from the human point of view, is that numbers get long quickly: every doubling in size adds an extra digit. You can overcome that disadvantage using octal or hexadecimal, which compress blocks of binary into single digits, but those number systems need more symbols: eight and sixteen, as their names suggest. There’s an elegance there too, but binary goes masked, hiding its minimalist appeal beneath apparent complexity. It doesn’t need to wear a mask for computers, but human beings can appreciate bare binary too, even with our weak memories and easily tiring nervous systems. I especially like minimalist binary when it’s put to work on those most maximalist of numbers: the primes. You can compare integers, or whole numbers, to minerals. Some are like mica or shale, breaking readily into smaller parts, but primes are like granite or some other ultra-hard, resistant rock. In other words, some integers are easy to divide by other integers and some, like the primes, are not. Compare 256 with 257. 256 = 2^8, so it’s divisible by 128, 64, 32, 16, 8, 4, 2 and 1. 257 is a prime, so it’s divisible by nothing but itself and 1. Powers of two are easy to calculate and, in binary, very easy to represent:

2^0 = 1 = 1
2^1 = 2 = 10[2]
2^2 = 4 = 100
2^3 = 8 = 1000
2^4 = 16 = 10000
2^5 = 32 = 100000
2^6 = 64 = 1000000
2^7 = 128 = 10000000
2^8 = 256 = 100000000

Primes are the opposite: hard to calculate and usually hard to represent, whatever the base:

02 = 000010[2]
03 = 000011
05 = 000101
07 = 000111
11 = 001011
13 = 001101
17 = 010001
19 = 010011
23 = 010111
29 = 011101
31 = 011111
37 = 100101
41 = 101001
43 = 101011

Maximalist numbers, minimalist base: it’s a potent combination. But “brimes”, or binary primes, nearly all have one thing in common. Apart from 2, a special case, each brime must begin and end with 1. For the digits in-between, the God of Mathematics seems to be tossing a coin, putting 1 for heads, 0 for tails. But sometimes the coin will come up all heads or all tails: 127 = 1111111[2] and 257 = 100000001, for example. Brimes like that have a stark simplicity amid the jumble of 83 = 1010011[2], 113 = 1110001, 239 = 11101111, 251 = 11111011, 277 = 100010101, and so on. Brimes like 127 and 257 are also palindromes, or the same reading in both directions. But less simple brimes can be palindromes too:

73 = 1001001
107 = 1101011
313 = 100111001
443 = 110111011
1193 = 10010101001
1453 = 10110101101
1571 = 11000100011
1619 = 11001010011
1787 = 11011111011
1831 = 11100100111
1879 = 11101010111

But, whether they’re palindromes or not, all brimes except 2 begin and end with 1, so they can be represented as rings, like this:

Ouroboros5227

Those twelve bits, or binary digits, actually represent the thirteen bits of 5227 = 1,010,001,101,011. Start at twelve o’clock (digit 1 of the prime) and count clockwise, adding 1’s and 0’s till you reach 12 o’clock again and add the final 1. Then you’ve clocked around the rock and created the granite of 5227, which can’t be divided by any integers but itself and 1. Another way to see the brime-ring is as an Ouroboros (pronounced “or-ROB-or-us”), a serpent or dragon biting its own tail, like this:

Alchemical Ouroboros

Alchemical Ouroboros (1478)

Dragon Ouroboros

Another alchemical Ouroboros (1599)

But you don’t have to start clocking around the rock at midday or midnight. Take the Ouroboprime of 5227 and start at eleven o’clock (digit 12 of the prime), adding 1’s and 0’s as you move clockwise. When you’ve clocked around the rock, you’ll have created the granite of 6709, another prime:

Ouroboros6709

Other Ouroboprimes produce brimes both clockwise and anti-clockwise, like 47 = 101,111.

Clockwise

101,111 = 47
111,011 = 59
111,101 = 61

Anti-Clockwise

111,101 = 61
111,011 = 59
101,111 = 47

If you demand the clock-rocked brime produce distinct primes, you sometimes get more in one direction than the other. Here is 151 = 10,010,111:

Clockwise

10,010,111 = 151
11,100,101 = 229

Anti-Clockwise

11,101,001 = 233
11,010,011 = 211
10,100,111 = 167
10,011,101 = 157

The most productive brime I’ve discovered so far is 2,326,439 = 1,000,110,111,111,110,100,111[2], which produces fifteen distinct primes:

Clockwise (7 brimes)

1,000,110,111,111,110,100,111 = 2326439
1,100,011,011,111,111,010,011 = 3260371
1,110,100,111,000,110,111,111 = 3830207
1,111,101,001,110,001,101,111 = 4103279
1,111,110,100,111,000,110,111 = 4148791
1,111,111,010,011,100,011,011 = 4171547
1,101,111,111,101,001,110,001 = 3668593

Anti-Clockwise (8 brimes)

1,110,010,111,111,110,110,001 = 3768241
1,100,101,111,111,101,100,011 = 3342179
1,111,111,011,000,111,001,011 = 4174283
1,111,110,110,001,110,010,111 = 4154263
1,111,101,100,011,100,101,111 = 4114223
1,111,011,000,111,001,011,111 = 4034143
1,110,110,001,110,010,111,111 = 3873983
1,000,111,001,011,111,111,011 = 2332667


Appendix: Deciminimalist Primes

Some primes in base ten use only the two most basic symbols too. That is, primes like 11[10], 101[10], 10111[10] and 1011001[10] are composed of only 1’s and 0’s. Furthermore, when these numbers are read as binary instead, they are still prime: 11[2] = 3, 101[2] = 5, 10111[2] = 23 and 1011001[2] = 89. Here is an incomplete list of these deciminimalist primes:

11[10] = 1,011[2]; 11[2] = 3[10] is also prime.

101[10] = 1,100,101[2]; 101[2] = 5[10] is also prime.

10,111[10] = 10,011,101,111,111[2]; 10,111[2] = 23[10] is also prime.

101,111[10] = 11,000,101,011,110,111[2]; 101,111[2] = 47[10] is also prime.

1,011,001[10] = 11,110,110,110,100,111,001[2]; 1,011,001[2] = 89[10] is also prime.

1,100,101[10] = 100,001,100,100,101,000,101[2]; 1,100,101[2] = 101[10] is also prime.

10,010,101[10] = 100,110,001,011,110,111,110,101[2]; 10,010,101[2] = 149[10] is also prime.

10,011,101[10] = 100,110,001,100,000,111,011,101[2]; 10,011,101[2] = 157[10] is also prime.

10,100,011[10] = 100,110,100,001,110,100,101,011[2]; 10,100,011[2] = 163[10] is also prime.

10,101,101[10] = 100,110,100,010,000,101,101,101[2]; 10,101,101[2] = 173[10] is also prime.

10,110,011[10] = 100,110,100,100,010,000,111,011[2]; 10,110,011[2] = 179[10] is also prime.

10,111,001[10] = 100,110,100,100,100,000,011,001[2].

11,000,111[10] = 101,001,111,101,100,100,101,111[2]; 11,000,111[2] = 199[10] is also prime.

11,100,101[10] = 101,010,010,101,111,111,000,101[2]; 11,100,101[2] = 229[10] is also prime.

11,110,111[10] = 101,010,011,000,011,011,011,111[2].

11,111,101[10] = 101,010,011,000,101,010,111,101[2].

100,011,001[10] = 101,111,101,100,000,101,111,111,001[2]; 100,011,001[2] = 281[10] is also prime.

100,100,111[10] = 101,111,101,110,110,100,000,001,111[2].

100,111,001[10] = 101,111,101,111,001,001,010,011,001[2]; 100,111,001[2] = 313[10] is also prime.

101,001,001[10] = 110,000,001,010,010,011,100,101,001[2].

101,001,011[10] = 110,000,001,010,010,011,100,110,011[2]; 101,001,011[2] = 331[10] is also prime.

101,001,101[10] = 110,000,001,010,010,011,110,001,101[2].

101,100,011[10] = 110,000,001,101,010,100,111,101,011[2].

101,101,001[10] = 110,000,001,101,010,110,111,001,001[2].

101,101,111[10] = 110,000,001,101,010,111,000,110,111[2]; 101,101,111[2] = 367[10] is also prime.

101,110,111[10] = 110,000,001,101,101,000,101,011,111[2].

101,111,011[10] = 110,000,001,101,101,010,011,100,011[2]; 101,111,011[2] = 379[10] is also prime.

101,111,111[10] = 110,000,001,101,101,010,101,000,111[2]; 101,111,111[2] = 383[10] is also prime.

110,010,101[10] = 110,100,011,101,001,111,011,110,101[2].

110,100,101[10] = 110,100,011,111,111,111,010,000,101[2]; 110,100,101[2] = 421[10] is also prime.

110,101,001[10] = 110,100,100,000,000,001,000,001,001[2].

110,110,001[10] = 110,100,100,000,010,010,100,110,001[2]; 110,110,001[2] = 433[10] is also prime.

110,111,011[10] = 110,100,100,000,010,100,100,100,011[2]; 110,111,011[2] = 443[10] is also prime.