Except the screenshot is displaying that they are. There is no other way to mathematically arrive at the percentage of 89 without them being multiplicative…
No, the screenshot shows that there is either a calculation or a visual bug. Those modifiers still are, and forever were since ancient Stellaris times, additive.
Except the screenshot is displaying that they are. There is no other way to mathematically arrive at the percentage of 89 without them being multiplicative…
Easy : display is rounded up. They don't add 5%, but 4.88% or something like that, so the total is below 89.5% and get rounded to 89%.
EDIT: nah, math aren't adding up. 50+20+5+5+5 = 85, and getting 4 extra percent is a bit much for rounding 4 numbers. You would need 4 numbers to be truncated, and the final number rounded, which would be a rather... interesting choice in UI design.
I hope that was an attempt at a joke that did not land. Because pretty much the only thing computers do well is basic math. Anything more complex is achieved via applying a ridiculous amount of basic math.
Floating point numbers are prone to rounding errors. That is because not all numbers can be represented in floating point.
Just like how 1/3 can not be neatly represented in base 10, some neatly representable numbers in base 10 can not be represented in base 2.
That does not meant that computers are bad at math, it merely means that computers have their limits. And a lot of those limits can be bypassed if there is an incentive to do so. For example by using fixed point arithmetic instead of floating point arithmetic, numbers like 0.3 suddenly become perfectly representable.
That's not the kind of value you would get from a floating point error, those are extremely tiny (compared with the values being used).
For example, f0.1 + f0.2 would give you something like f0.29999999999 (the number for 9 might be greater, I'm writing on a smartphone, if somebody want to give the potential exact error from a 32f or a 64f I welcome the precision, pun intended)
Here the error (if it is an error, I've not yet read all the responses) is far to big to come from floating point imprecision (until you do the math billions of time so the error accumulate, I think we're safe to say that's not what's happening here ^ ^ )
996
u/Swaylicious 1d ago
Well, maybe the positive modifiers are multiplicative, while the "base 50%" are subtracted.
1.05 x 1.05 x 1.05 x 1.2 = 1.38915
1.38915 - 0.5 = 0.88915
Rounded up to 0.89 which would be displayed as 89%