File Signatures and Tetration of 2

Every computer file, including data files and program files, is a unique sequence of binary bits, unless the user modifies the file. As such, every such file has a unique signature, which is its base-2 (or alternatively base-10) numerical representation. Since a byte has 8 bits, we can immediately get some bounds on the size of this file signature:

File Size: 1 byte 1 KB 1 MB 1 GB
Signature Range: 0 ≤ S ≤ 223-1 0 ≤ S ≤ 2213-1 0 ≤ S ≤ 2223-1 0 ≤ S ≤ 2233-1
Expanded Signature Range: 0 ≤ S ≤ 255 0 ≤ S ≤ 0.1090748136*102467 0 ≤ S ≤ A (large!) 0 ≤ S ≤ B (huge!)

Here's an example: Suppose our file F has size 5 bytes and contains the following bit sequence:

F: 10110110 11010100 10100001 00111111 10110001

F's signature is exactly S = $B6D4A13FB1 in hexadecimal, which is equal to S = 785251385265 in base 10. S for a 5 byte file may take 240 = 1099511627776 different values, which means such a file can represent 1099511627776 different sequences/values/signatures, depending on its contents.

For a 1KB file, S can vary between 0 and 0.1090748136*102467. This last number is a number with 2466 digits, in case you are wondering. It's already greater than the number of all electrons in the universe (~1058) by many orders, and the total number of chess board configurations (~1071.3) also by many orders.

Let's now attempt to estimate the magnitude of A. We immediately have:

log2(log2(A)) = 23. Using the logarithm base change:

logb(X) = logk(X)/logk(b), call X = log2(A). Then:

log2(X) = log10(X)/log10(2) = 23, =>

log10(X) = 23*log10(2) ~ 6.9236898 ~ 7, =>

X = 107 , =>

log2(A) ~ 107, and using the base change formula again, =>

log10(A)/log10(2) ~ 107, =>

log10(A) ~ 107*log10(2) ~ 3000000, =>

A ~ 103000000.

That's a LARGE number. It has approximately 3000000 digits. That's approximately 3 million digits.

Repeating for B, we find:

B ~ 103000000000.

That's a huge number. It has approximately 3 billion digits. Now you understand what it means for a system to have storage capacity equal to 1 Gigabyte.

To get an idea of the immense power of the tetration of 2, a useful exercise for the reader is to try to calculate how many digits the number 2^^7=72=22222222 has. The estimation is presented below. See if you can follow the details.

12=2^^1 2
22=2^^2 4
32=2^^3 16
42=2^^4 ~10^4.81=1(10,4.81)[1]
52=2^^5 ~10^10^4.29=2(10,4.29)[2]
62=2^^6 ~10^10^10^4.29=3(10,4.29)[3]
72=2^^7 ~10^10^10^10^4.29=4(10,4.29)[4]

Notes

  1. Estimates are given in terms of the extended tetration function n(x,y) = {xy, iff n=1, x{n-1(x,y)} iff n >1}.
  2. 2^65536=10^{log10(2^65536)}=10^{log2(2^65536)/log2(10)} ~10^(65536/3.32)=10^19728=10^10^4.29=2(10,4.29).
  3. 2^{10^19728}=10^{log10(2^{10^19728})}=10^{log2(2^{10^19728})/log2(10)}=10^{10^19728/log2(10)}~10^{10^19728/3.32}=10^{10^19728/10^0.52}=10^10^{19728-0.52}=10^10^19727=10^10^10^4.29=3(10,4.29).
  4. 2^{10^10^19727}=10^{log10(2^{10^10^19727})}=10^{log2(2^{10^10^19727})/log2(10)}=10^{{10^10^19727}/log2(10)}~10^{{10^10^19727}/3.32}=10^{{10^10^19727}/10^0.52}~10^{10^{10^19727-0.52}}=10^{10^{10^19726}}~10^{10^{10^10^4.29}}~4(10,4.29).