Log In  


Hello, I hope this is not out of line. I know I opened a topic earlier regarding Fantasy Consoles using 4-bits which started a deep discussion:

https://www.lexaloffle.com/bbs/?tid=31985

So I thought I would bring up another concern of mine. How much can you store in 256-bytes of data ?

"The answer, to life, the universe, and everything !"

Is not 42.

No it's not.

No, in fact it may very well be 256.

I have been giving a lot of thought, most of my life really, to just how much data 256-bytes is. Not just for Pico-8 but in instances regarding philosophy, theology, and mathematics. Permutations involving matching identifications especially.

I am now fully believing that is possible to store an entire universe (or at least the molecular design for a block of cheese), inside the span of 256-bytes of data.

How is this possible ?

Well if we consider that life itself is made up of billions, trillions, of atoms, then isn't it possible that 256-bytes of data is enough to store all that complex information ?

And you may be asking, how can that be done ?

Well, think about it. We have 256 multiplied by itself, one time, is 256. Two bytes are 65,536 possibilities. Three bytes are 16,777,216, and four bytes are 4,294,967,296 possibilities.

At 4-bytes we are already at 4-billion possible definitions !

So, yeah, if you get 256 and multiply it 256 times which is a total space of 256-bytes, you get a number that I think is pretty close to the stars in the sky, or MAYBE the building blocks of the universe.

Is there a way to calculate 256^256 ? Not to my knowledge, No. Yet I suspect the number is large enough that even if it can't store the entire universe, it should be able to hold real-time true-to-life finite molecular data what we call LIFE.

And it should be possible to work within this scope to open literally uncounted possibilities for reality.

So the paltry sum of 256-bytes of data is clearly more than it appears to be. That every great computer program ever written or would be written could use this 256-bytes of memory as a marker.

An identification card to show which of the millions, billions, trillions, quadrillions, quintillions, sextillions, septillions, Octillions, Nonillions, and Decillions - of programs, of codes of reality, of building blocks of DNA, of - whatever you need to catalogue that goes beyond conventional numbering.

It could all be done - within 256-bytes of data.

Now here's the rub though. We have no way of "cataloguing" all of this data according to numbers. So today we are sloppy in our coding and development of data storage.

Sloppy to the point we don't even use permutations for numerical recall, instead we store finite numbers in areas that are full of holes.

Holes as big as a Buick.

Holes that if all added up together could probably circle the Earth a few times and maybe even comprise a new black hole.

A black hole of sloppy encoding. Using a single-byte to hold a single digit 0-9, or even 0-1 and the single byte of data, its position and time of arrival is considered of no consequence - could also be added to the mix to increase the permutation table further.

Where we live in an age where terabyte drives are the norm. And even more sloppy coding and encoding is done. So games today are not even counted in kilobytes or even megabytes, no gigbytes, and 2-3 years from now ?

Who knows ? We'll have videogames that take a full terabyte of storage.

So full of holes - so could it be catalogued in 256-bytes of data, a single bit variant from the 2048-variants which are calculated not according to changes but location in the change. The time it changes. The place it changes. All of these elements are critical to its definition.

All of these elements adding up to rock-solid data encryption and protection, these lowly 256-bytes. May someday be used for all kinds of identification in the future.

What are your thoughts regarding 256-bytes possibly being the ultimate storage of data ?

AND I'm going to leave this in your corner, guys, as I already stated my thoughts above.

2


2

Well, it's true that the number of possibilities symbolized by 256 bytes is mind-bogglingly huge. 256^256, (or 2^2048 to put it another way), is an incomprehensibly large number. On the other hand, I know that this is also the amount of information required to describe a 16x16 pixel, 256 color bitmap, or a 64x32 pixel, 2 color bitmap, which in the vast scheme of things are rather small and simple, especially compared to the whole universe.

That said, It's kind of eye-opening just to think about the possibilities represented by the permutations of a small set of data like this. A single 16x16 sprite is a fairly simple thing, but after decades of new games we haven't come close to running out of new designs. Similarly, 256 text characters is a small amount, but it could hold a seemingly infinite number of future news headlines, or world-altering scientific formulas, or cherished communications between loved ones, or jokes.

I guess what I take from this is a greater appreciation for the complexity and possibilities of the world around me, as I realize I can't even fathom the possibilities in a tiny piece of it.


1

> "Is there a way to calculate 256^256 ? Not to my knowledge, No."

Just for the record: 256^256 = 2^2048 which is approximately equal to 10^617. The (or at least an) upper bound of the estimate for the number of atoms in the universe is 10^82. So 256^256 is much, much much more than the total number of atoms in the universe.

The actual number (617 digits long) is:
32317006071311007300714876688669951960
44410266971548403213034542752465513886
78908931972014115229134636887179609218
98019494119559150490921095088152386448
28312063087736730099609175019775038965
21067960576383840675682767922186426197
56161838094338476170470581645852036305
04288757589154106580860755239912393038
55219143333896683424206849747865645694
94856176035326322058077805659331026192
70846031415025859286417711672594360371
84618573575983511523016459044036976132
33287231227125684710820209725157101726
93132346967854258065669793504599726835
29986382155251663894373355436021354332
29604645318478604952148193555853611059
596230656

(I wouldn't want to do it by hand but it could be done, it's just 256 multiplications after all. Provided you're using a language with support for arbitrarily large integers these are easy to calculate. I just stuck it in python and copy/pasted the answer.)


2

@jasondelaat I went the super lazy route and just entered

echo "256^256" | bc

in my zsh terminal :)


Not to detract from the focus here, @jasondelaat and @2bitchuck. Is there an online calculator that can show this number, where I can type out 256^256 and it will show me the numeric amount as you have found for the answer - every digit ?

And also show me all the digits involved in "1 divided by 149" another curiosity I came across through experimentation.


1

@2bitchuck

I didn't realize zhs could handle that. Good to know, thanks!

@dw817
This is the first one I found: http://javascripter.net/math/calculators/100digitbigintcalculator.htm

Just put 256 in both the x and y fields then hit the x^y button.


1

@dw817 The only online calculator I've found that will print all the digits rather than scientific notation is this one (it only takes 2 inputs and has limited operations available, but works fine for your use case): https://www.calculator.net/big-number-calculator.html


1

OMY ... There it is, guys. Thanks so much ! :D That really means a lot to me ...

Wow I never thought I would see an answer to 256^256 in my lifetime ... Interesting stuff. Now we just need a Fantasy Console that can easily calculate stuff like this and we'd be all set !

I seem to remember Timex's own personal computer, the "TI-99" could calculate up to 10-digits for decimal and 10-digits for integer so you could ask, "2^33" and get the correct answer of "8589934592 !" Was there any computer ever made at any year that could handle higher detail for numbers ? I know Apple ][ definitely did not.

BTW do we have an English word to represent what the first digit position is in that 617-digit number ? For instance 1,000,000 is "million."

I wanted to know what 1 divided by 149 is as I haven't found a program yet to give me all of its decimal places. I don't think it repeats. It's something I came across years ago. The two calculators you posted work for integers, but only 130-digits for the 1/149.

And yes I bookmarked both of your calculators. Amazing the detail they can handle !

I am totally off-subject of the 256-bytes I know but you guys are answering a world of questions I've had for years and I thank you for that !


2

@dw817
That does repeat actually. 1/149 is this with a repeating period of 148 (as in, everything after the decimal point):
0.0067114093959731543624161073825503355704697986577181208053691275167785234899328859060402684563758389261744966442953020134228187919463087248322147651

Also, if you really never dreamed of knowing these types of results, then you need to have more faith in the reality of dreams. I just calculated both results in pico-8. Below is the code I used, with credits to geeksforgeeks.com for the python code I adapted these functions from. I extended the division function to handle non-integer numbers myself though. Both results were verified by wolfram alpha. In general, I think associating the limits of languages or cpu's on what direct representation they support is silly. The real limit is just how much memory then can allow for general silly uses.

Code to calculate 256^256:

function multiply(num1,num2)
  len1=#num1
  len2=#num2
  if len1==0 or len2==0 then
    return "0"
  end
  result = {}
  for i=0,len1+len2-1 do
    result[i]=0
  end
  i_n1=0
  i_n2=0
  for i=len1,1,-1 do
    carry=0
    n1=tonum(num1[i])
    i_n2=0
    for j=len2,1,-1 do
      n2=tonum(num2[j])
      summ=n1*n2+result[i_n1+i_n2]+carry
      carry=summ\10
      result[i_n1+i_n2]=summ%10
      i_n2+=1
    end
    if carry>0 then
      result[i_n1+i_n2]+=carry
    end
    i_n1+=1
  end
  i=#result
  while (i>=0 and result[i]==0) do
    i-=1
  end
  if (i==-1) then return "0" end
  s=""
  while (i >= 0) do
    s=s..result[i]
    i-=1
  end
  return s
end

cls()
mn="256"
en=256
print(mn.."^"..mn.."=")
tm=mn
for i=1,en-1 do
  tm=multiply(tm,mn)
end
for i=1,#tm,32 do
  print(sub(tm,i,min(i+31,#tm)))
end

2

And here's for calculating 1/149, in a separate post because the preview seemed to indicate there was a problem with this and I had to fiddle with the formatting to fix it.

Code to calculate 1/149:

cls()
function long_division(number,divisor,limit)
  if divisor==0 then
    return "undefined or indeterminate"
  end
  limit=limit or 16
  ans=""
  if #number > 4 or tonum(number)>divisor then
    idx=0
    temp=tonum(number[idx+1])
    while temp<divisor do
      temp=temp*10+tonum(number[idx+2])
      idx+=1
    end
    idx+=1
    while #number>idx do
      ans=ans..tostr(flr(temp/divisor))
      temp=temp%divisor * 10 + tonum(number[idx+1])
      idx+=1
    end
    ans=ans..tostr(flr(temp/divisor))
  else
    temp = tonum(number)
  end
  rem=temp%divisor
  if rem==0 or limit==0 then return ans end
  ans=ans.."."
  dpn=0
  while rem~=0 and dpn < limit do
    temp=rem * 10
    ans=ans..tostr(flr(temp/divisor))
    rem=temp%divisor
    dpn+=1
  end
  return ans
end

num = "1"
div = 149
print(num.."/"..div.."=")
rs = long_division(num,div,148)
for i=1,#rs,32 do
  print(sub(rs,i,min(i+31,#rs)))
end

just to be back to OP - no, you cannot save any data in 256 bytes.
you can eventually create a unique identity for anything using a non-reversible hash (see sha2 for ex), but there is still a need to archive the actual data.


1

Alright @freds72. Smash our dreams why doncha. :)

Hmm ... If it's possible to calculate PI to trillion positions and even higher, it should be possible to use PI as a kind of "instruction" set for numbers this large like 256^256.

Then again it could be a new piece of hardware not yet designed especially made for this task, to have and hold vital data that goes into the 600+ digits for identification - whatever the identity might provide.


@kimiyoribaka:

I apologize for not getting back in touch with you.

Quite frankly, you blew my mind. *:)

And I do mean in the best possible way.

I just feel ... someday ... someway ... that answer to 256^256 is going to be vitally important in the future.

Probably not in my lifetime. Probably not in yours, nor anyone's else lifetime that is alive today. No, thousands, possibly millions of years in the future ...

The whole of mankind will circle around and relish and revere that 617-digit answer because all storage of all human knowledge - and that of beyond - would be made use of in its calculation and solution ...

As for me. I'm printing out that 617-digit number just perfect to fit on one full page of hard card paper. And I'm hanging it up on the wall to remind me - that some things - some things are bigger than the universe we know and understand.

Oh, and Happy Halloween ... 🎃 👻


1

Wolfram Alpha is an online math engine that will show you all digits, as well as a variety of other representations and data.
https://www.wolframalpha.com/input?i=256%5E256

You can even try 256^256^256 and while it won't tell you the answer, it will at least tell the length of the answer...

778271055801568519051032146294805259879539981603884993349201024873337718469883587972
521479361056141858576401083165223743661707917470462253439126982768230587800195122965
861125097687108173173026651469548002787565043539300253969584387134234736243066678878
633313837328355174136225022804198936618156179933014936290721464744040553056251980911
064259890837162975131075180244482354299381960296896489795615060910772845033540579877
714767758614103238835877175999419313953361896770436169442809828351030483530391338470
993063779636591542095159834042315129320130792692461641059693954152779318543289026862
63768596352709740478145621176 digits long (!!!)


Hi @ChristopherD:

At first I was concerned when I stated "download" and it required payment as the text field would not let you copy, however, if you chose, "Text" it would then display it properly and let me copy it to clipboard.

Nicely done ! I will bookmark this calculator also.

I'm also looking into PI as well. I know back on the Apple ][ computer I had a program that claimed it could calculate PI up to 100,000 digits. That to me was enough to explore - and what did I find !

Today it looks like the limit is 1-trillion digits. Interesting stuff ! I may soon write a program to explore PI.


1

> "BTW do we have an English word to represent what the first digit position is in that 617-digit number ? For instance 1,000,000 is 'million.'"

I was curious about this and just found https://lingojam.com/NumbersToWords and plugged the number in. The result :

thirty-two quattuorducentillion three hundred seventeen treducentillion six duoducentillion and seventy-one unducentillion three hundred eleven ducentillion seven novenonagintacentillion three hundred octononagintacentillion seven hundred fourteen septenonagintacentillion eight hundred and seventy-six senonagintacentillion six hundred and eighty-eight quinnonagintacentillion six hundred and sixty-nine quattuornonagintacentillion nine hundred and fifty-one trenonagintacentillion nine hundred sixty duononagintacentillion four hundred and forty-four unnonagintacentillion one hundred two nonagintacentillion six hundred and sixty-nine novemoctogintacentillion seven hundred fifteen octooctogintacentillion four hundred and eighty-four septemoctogintacentillion and thirty-two sexoctogintacentillion one hundred thirty quinoctogintacentillion three hundred and forty-five quattuoroctogintacentillion four hundred and twenty-seven tresoctogintacentillion five hundred and twenty-four duooctogintacentillion six hundred and fifty-five unoctogintacentillion one hundred and thirty-eight octogintacentillion eight hundred and sixty-seven novenseptuagintacentillion eight hundred ninety octoseptuagintacentillion eight hundred and ninety-three septenseptuagintacentillion one hundred and ninety-seven seseptuagintacentillion two hundred one quinseptuagintacentillion four hundred eleven quattuorseptuagintacentillion five hundred and twenty-two treseptuagintacentillion nine hundred thirteen duoseptuagintacentillion four hundred and sixty-three unseptuagintacentillion six hundred and eighty-eight septuagintacentillion seven hundred seventeen novensexagintacentillion nine hundred sixty octosexagintacentillion nine hundred and twenty-one septensexagintacentillion eight hundred and ninety-eight sesexagintacentillion nineteen quinsexagintacentillion four hundred and ninety-four quattuorsexagintacentillion one hundred nineteen tresexagintacentillion five hundred and fifty-nine duosexagintacentillion one hundred fifty unsexagintacentillion four hundred ninety sexagintacentillion nine hundred and twenty-one novenquinquagintacentillion and ninety-five octoquinquagintacentillion and eighty-eight septenquinquagintacentillion one hundred and fifty-two sesquinquagintacentillion three hundred and eighty-six quinquinquagintacentillion four hundred and forty-eight quattuorquinquagintacentillion two hundred and eighty-three tresquinquagintacentillion one hundred twenty duoquinquagintacentillion six hundred thirty unquinquagintacentillion eight hundred and seventy-seven quinquagintacentillion three hundred and sixty-seven novenquadragintacentillion three hundred octoquadragintacentillion nine hundred and ninety-six septenquadragintacentillion and ninety-one sesquadragintacentillion seven hundred fifty quinquadragintacentillion one hundred and ninety-seven quattuorquadragintacentillion seven hundred fifty tresquadragintacentillion three hundred and eighty-nine duoquadragintacentillion six hundred and fifty-two unquadragintacentillion one hundred six quadragintacentillion seven hundred and ninety-six noventrigintacentillion and fifty-seven octotrigintacentillion six hundred and thirty-eight septentrigintacentillion three hundred and eighty-four sestrigintacentillion and sixty-seven quintrigintacentillion five hundred and sixty-eight quattuortrigintacentillion two hundred and seventy-six trestrigintacentillion seven hundred and ninety-two duotrigintacentillion two hundred eighteen untrigintacentillion six hundred and forty-two trigintacentillion six hundred nineteen novemviginticentillion seven hundred and fifty-six octoviginticentillion one hundred and sixty-one septemviginticentillion eight hundred and thirty-eight sesviginticentillion and ninety-four quinviginticentillion three hundred and thirty-eight quattuorviginticentillion four hundred and seventy-six tresviginticentillion one hundred seventy duoviginticentillion four hundred seventy unviginticentillion five hundred and eighty-one viginticentillion six hundred and forty-five novendecicentillion eight hundred and fifty-two octodecicentillion and thirty-six septendecicentillion three hundred five sedecicentillion and forty-two quindecicentillion eight hundred and eighty-seven quattuordecicentillion five hundred and seventy-five tredecicentillion eight hundred and ninety-one duodecicentillion five hundred and forty-one undecicentillion and sixty-five decicentillion eight hundred eight novencentillion six hundred seven octocentillion five hundred and fifty-two septencentillion three hundred and ninety-nine sexcentillion one hundred and twenty-three quincentillion nine hundred thirty quattuorcentillion three hundred and eighty-five trescentillion five hundred and twenty-one duocentillion nine hundred fourteen uncentillion three hundred and thirty-three centillion three hundred and eighty-nine novenonagintillion six hundred and sixty-eight octononagintillion three hundred and forty-two septenonagintillion four hundred twenty senonagintillion six hundred and eighty-four quinnonagintillion nine hundred and seventy-four quattuornonagintillion seven hundred and eighty-six trenonagintillion five hundred and sixty-four duononagintillion five hundred and sixty-nine unnonagintillion four hundred and ninety-four nonagintillion eight hundred and fifty-six novemoctogintillion one hundred and seventy-six octooctogintillion and thirty-five septemoctogintillion three hundred and twenty-six sexoctogintillion three hundred and twenty-two quinoctogintillion and fifty-eight quattuoroctogintillion and seventy-seven tresoctogintillion eight hundred five duooctogintillion six hundred and fifty-nine unoctogintillion three hundred and thirty-one octogintillion and twenty-six novenseptuagintillion one hundred and ninety-two octoseptuagintillion seven hundred eight septenseptuagintillion four hundred sixty seseptuagintillion three hundred fourteen quinseptuagintillion one hundred fifty quattuorseptuagintillion two hundred and fifty-eight treseptuagintillion five hundred and ninety-two duoseptuagintillion eight hundred and sixty-four unseptuagintillion one hundred and seventy-seven septuagintillion one hundred sixteen novensexagintillion seven hundred and twenty-five octosexagintillion nine hundred and forty-three septensexagintillion six hundred three sesexagintillion seven hundred eighteen quinsexagintillion four hundred and sixty-one quattuorsexagintillion eight hundred and fifty-seven tresexagintillion three hundred and fifty-seven duosexagintillion five hundred and ninety-eight unsexagintillion three hundred and fifty-one sexagintillion one hundred and fifty-two novenquinquagintillion three hundred one octoquinquagintillion six hundred and forty-five septenquinquagintillion nine hundred four sesquinquagintillion four hundred three quinquinquagintillion six hundred and ninety-seven quattuorquinquagintillion six hundred thirteen tresquinquagintillion two hundred and thirty-three duoquinquagintillion two hundred and eighty-seven unquinquagintillion two hundred and thirty-one quinquagintillion two hundred and twenty-seven novenquadragintillion one hundred and twenty-five octoquadragintillion six hundred and eighty-four septenquadragintillion seven hundred ten sesquadragintillion eight hundred twenty quindragintillion two hundred nine quattuorquadragintillion seven hundred and twenty-five tresquadragintillion one hundred and fifty-seven duoquadragintillion one hundred one unquadragintillion seven hundred and twenty-six quadragintillion nine hundred and thirty-one novemtrigintillion three hundred and twenty-three octotrigintillion four hundred and sixty-nine septentrigintillion six hundred and seventy-eight sextrigintillion five hundred and forty-two quintrigintillion five hundred eighty quattuortrigintillion six hundred and fifty-six tretrigintillion six hundred and ninety-seven duotrigintillion nine hundred and thirty-five untrigintillion and forty-five trigintillion nine hundred and ninety-seven novemvigintillion two hundred and sixty-eight octovigintillion three hundred and fifty-two septenvigintillion nine hundred and ninety-eight sexvigintillion six hundred and thirty-eight quinvigintillion two hundred fifteen quattuorvigintillion five hundred and twenty-five trevigintillion one hundred and sixty-six duovigintillion three hundred and eighty-nine unvigintillion four hundred and thirty-seven vigintillion three hundred and thirty-five novemdecillion five hundred and forty-three ocodecillion six hundred two septendecillion one hundred and thirty-five sexdecillion four hundred and thirty-three quindecillion two hundred and twenty-nine quattuordecillion six hundred four tredecillion six hundred and forty-five duodecillion three hundred eighteen undecillion four hundred and seventy-eight decillion six hundred four nonillion nine hundred and fifty-two octillion one hundred and forty-eight septillion one hundred and ninety-three sextillion five hundred and fifty-five quintillion eight hundred and fifty-three quadrillion six hundred eleven trillion and fifty-nine billion five hundred and ninety-six million two hundred thirty thousand six hundred and fifty-six


quattuorducentillion

That word alone earns you a gold star, @mattu82. :)

You went over and aboard the call of duty. Take a break now. The ginger-ale is on me. :)



[Please log in to post a comment]