What is the range of datatype double in Matlab ?

22 visualizzazioni (ultimi 30 giorni)
If we assign any value to a variable , Matlab assigns its data type as double .
What is the max range of that variable ?

Risposta accettata

David Sanchez
David Sanchez il 21 Ago 2013
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 Commenti
Laurent
Laurent il 21 Ago 2013
This range is correct, although a double requires 64 bits to store its value.
James Tursa
James Tursa il 21 Ago 2013
Modificato: James Tursa il 21 Ago 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by