Modulo of realmax in matlab
1 次查看(过去 30 天)
显示 更早的评论
I am getting the same results for the following:
mod(realmax,10^9 + 7) and mod(realmax-10000,10^9 + 7) or subtracting any other number from realmax.
What is the reason for this and how to resolve it?
0 个评论
采纳的回答
Ameer Hamza
2020-10-31
MATLAB double datatype is based on IEEE-754 format: https://en.wikipedia.org/wiki/Double-precision_floating-point_format. This is a finite precision datatype, and you cannot represent all possible integer values accurately in this format.
flintmax
gives the maximum consecutive integer values, which can be accurately represented in this format. Above that, only a few integer values are precisely represented. In your case, realmax-10000 will just round off to realmax since double() data type does not have the precision to represent it.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!