What is the range of datatype double in Matlab ?

If we assign any value to a variable , Matlab assigns its data type as double .
What is the max range of that variable ?

 Réponse acceptée

David Sanchez
David Sanchez le 21 Août 2013

0 votes

All numerical variables in MATLAB are stored as 32 bit floating point numbers. This corresponds to double precision on most computers. I think it can range from -1.7976931348623158e+308 to -2.2250738585072014e-308, or from 2.2250738585072014e-308 to 1.7976931348623158e+308.

2 commentaires

Laurent
Laurent le 21 Août 2013
This range is correct, although a double requires 64 bits to store its value.
James Tursa
James Tursa le 21 Août 2013
Modifié(e) : James Tursa le 21 Août 2013
To clarify the lower range, numbers between these two number ranges are "de-normalized" or "sub-normal", meaning they have less precision (using fewer actual mantissa bits) than a regular double.
>> typecast(uint64(1),'double')
ans =
4.940656458412465e-324
>> realmin
ans =
2.225073858507201e-308
Whereas numbers between these two ranges have full precision (use all available mantissa bits):
>> realmin
ans =
2.225073858507201e-308
>> realmax
ans =
1.797693134862316e+308
Similar for negative numbers.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by