How to calculate the largest real number in IEEE double and single precision representation.
1 次查看(过去 30 天)
显示 更早的评论
How do you calculate (in your own way) the largest real number in IEEE double and single precision representations wihtout using realmax('single') and realmax('double')? thank you!
2 个评论
Matt Kindig
2013-5-15
Wikipedia gives a pretty good overview of how to do so in its article:
I happened to have been reading this article just today.
James Tursa
2013-5-15
Using just floating point operations? Or allowing for bit manipulation and type casting?
回答(1 个)
Jan
2013-5-15
编辑:Jan
2013-5-15
Using the bit-patterns defined e.g. here http://docs.oracle.com/cd/E19957-01/806-3568/ncg_math.html and a typecast should be sufficient. Because IEEE754 is a convention, there is nothing wrong with using the bit-patterns defined in this convention directly.
[EDITED] What about pow2(2 - eps, 1023)? Does this reply the correct answer?
2 个评论
José-Luis
2013-5-15
编辑:José-Luis
2013-5-15
It should give the correct answer since that is the formula invoked by realmax. Without using eps:
pow2(1 + (1 - 2^-52),1023) == realmax
Or even without pow2:
(1 + (1 - 2^-52))*2^1023 == realmax
Speedwise it might not be optimal but William seemed reluctant to use built-in functions.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numeric Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!