An Exabyte is 10^18 bytes. (Exa, Peta, Tera, Giga, Mega) A Googlebyte is 10^100 bytes (1 followed by 100 zeroes). My 8 year old daughter knows that a GoolePlex is a 1 followed by a google zeroes.
The code below generates very big numbers by generating powers of 2 and displays them in both a BROWSE and a grid.
For example 2^ 100, or about 10^30 is shown as
The :P option of the BROWSE FIELDS clause works as the InputMask to put in the comma separators Using such a mask on large numbers makes them easier to read, but scientific notation is much better for very large numbers.
Observe that each number ends in either a 2,4 6 or 8, and cannot end in 0 because a power of 2 is not divisible by 5 (or 10). After about 10^16 the numbers do end in 0, indicating that the numeric precision is just under 16 decimal digits (a topic for another blog)
CREATE CURSOR temp (name c(10),pow10 c(10),value b)
FOR i = 1 TO 350
INSERT INTO temp VALUES ("2^"+TRANSFORM(i),"10^"+TRANSFORM(LOG10(2^i)),2^i)
BROWSE FIELDS name,pow10,value:p="999,999,999,999,999,999,999,999,999,999,999,999" NOWAIT
PUBLIC x as form
SKIP -10 && go back 10 records