In between the years, a PISA question (nothing essential): The last digit of 7^190
8 views (last 30 days)
Show older comments
Last digit of 7^190, I thought a simple question if you have Matlab. But
fprintf('%f\n',7.0^190.0)
reports 4 as last digit, but it must be an odd number. 7^190 is fare away from realmax. Why that? It's not a big issue, only for my understanding.
1 Comment
Stephen23
on 28 Dec 2023
Edited: Stephen23
on 28 Dec 2023
"7^190 is fare away from realmax"
REALMAX is irrelevant.
The value is well above FLINTMAX (so, as the documentation states, your value is outside the range of consecutive integer values), so there is no expectation that your value will be represented accurately down to the ones:
Accepted Answer
Paul
on 28 Dec 2023
Well, if 7^190 is larger than realmax, then using double precison won't work to just try to compute it. You could try the Symbolic Math Toolbox. Or do some analysis and see the pattern in the last digit of 7^n for increments of n, and then figure out where the pattern would be for n == 190.
16 Comments
Rik
on 29 Dec 2023
Though Steven is technically correct that realmax is the largest integer that can be represented by a double, stating this is not helpful, as people will misinterpret it. Realmax does represent an integer, but since multiple numbers will map to realmax, its uses are limited. If you want to guarantee the correct last digit, flintmax is the limit.
There have been efforts to implement the quad datatype in Matlab, though to my knowledge that didn't reach a practical state. That would push flintmax to 2^113-1 (if I understand it correctly). Still not enough for this question, but a lot better.
More Answers (0)
See Also
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!