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 ?

 Accepted Answer

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 Comments

This range is correct, although a double requires 64 bits to store its value.
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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!