Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
https://en.wikipedia.org/wiki/FLOPS
Unlike my girlfriend, who hates a flop.
So, as far as I can tell, the authors of this game did have to come up with their own record structure to store enourmous numbers, and then they would need to write their own functions to work.
I'm a little curious, do they store the numbers exactly (ie: even when I have tresextagintillions of dollars, does it remember if the smallest digit is a 1 or a 2 or whatever?
Or do they keep only the most important 10-20 numbers, and figure nobody cares about numbers that are 20 orders of magnitude away? ie - if you have decillions, it might not actually keep track of how many spare trillion you have. cause it's so much lower that it would never matter.
To be honest, I'd make it store exactly, cause I'm OCD. But I think it's likely they didn't bother. I can't think of any way to tell. you'd have to like have just 1 lemonade stand earning you like $1 at a time, and click it like 100 trillion times, and see if it adds up eventually, or not.
I'd test that of course, except my head would explode before I finsihed. which is something I try to avoid.
The trick is to reform the values artificialy. 1.000.000 is can take more adress space than 10e^6. ; higher values could be transfigured in ssth like 10e^6^6. You could also split the numbers but i guess thats less efficient. Never the less a normal calculator cannot do this.
Libarys like GMP can handle this and as coder you dont need to know how. If youre very into maths/programming, you can try to understand this by theyr documentation/sourcecode ( https://gmplib.org/manual/Algorithms.html#Algorithms )
I'm not so much into this anymore (its like 15years ago i was realy coding) but im a bit curious (being at octseptuagintillion actualy btw. but without scientific notation i've no clue if thats more or less than uncentillion). I think this game is like Cl. Heroes 32bit compatible, so how to use 64bit vars?
32bit operating systems can use standard 64bit double-precision floating point numbers, but it is a lot more taxing on the processor. Modern CPUs, through newer instruction sets such as AVX / AVX512 can process 2, 4 or even 8 doubles at the same time.
AdCap most likely has the same limit, which is roughly uncentillion at E+301. A double can go all the way up to E+303 but AdCap contains the concept of pennies. (When you start a a new game, a lemon generate 1.00 and the next one cost something like 4.75, instead of generating 1 and costing 5.), hence the difference between 301 and 303.
32 bit processes have an address space of 4 GB, 64 bit massively more, also more and wider registers plus some other enhancements. But doubles (64 bit floats) can be computed natively and without any problems in 32 bit processes. SSE instructions operate on 128 bit wide registers, AVX even on 256 bit, all in 64 bit processes. The memory model basically just affects pointer types and therefore how much memory can be addressed.
1 million -> 10^(1*3+3) -> 1.0e6
1 billion -> 10^(2*3+3) -> 1.0e9
1 octseptuagintillion -> 78-illion -> 10^(78*3+3) -> 1.0e237
1 uncentillion -> 101-illion -> 10^(101*3+3) -> 1.0e306
A double can go up to 1.79769e308, in other words 179.796 uncentillions.
It all starts with a question, then theories, then one firm true answer.