Open In App

Matlab Floating Point Precision

Last Updated : 21 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Numeric class in MATLAB includes signed and unsigned integers, single-precision floating-point numbers, and double-precision floating-point numbers. Generally, MATLAB stores all numeric values as double-precision floating-point.Floating Point Numbers in MATLAB are stored in two forms:

  1. Single Precision Floating point
  2. Double Precision Floating point

MATLAB keeps the double precision floating point as the default floating point representation however, it can be changed to single by a very simple function.

Single Precision Floating Point:

The single precision floating point number requires 32 bits for representation by the standards of IEE®. These 32 bits are formatted as following.

Bit Number/Range Bits’ Functionality
31

Sign: –

0 for positive.

1 for negative.

30-23 exponent part; biased by 127
22-0 mantissa of the number; 1.f

Where exponent and mantissa are the components of exponential/scientific notation of a number.

Double Precision Floating Point:

The double precision floating point number requires 64 bits for representation by the standards of IEE®. These 64 bits are formatted as following.

Bit Number/Range Bits’ Functionality
63

Sign: –

0 for positive.

1 for negative.

62-52 exponent part; biased by 1023
51-0 mantissa of the number; 1.f

Creating Single Floating Point and Double Floating Point in MATLAB:

Single Precision:

As MATLAB creates double precision floating point number by default, we use single() function to create single precision floating point number.

Example 1:

Matlab




% MATLAB code for creating single precision floating point
num = single(123.45);
 
% verifying the attributes of num by whose function
whose("num")


Output:

 

Double Precision:

Double precision floating point numbers can be created by ordinary assignment or using the double function.

Example 2:

Matlab




% MATLAB code for creating number by double function
num = double(123.45);   
 
% Creating number by ordinary assignment
num_assignment = 678.9;   
 
% Checking the attributes of both variables
whose("num","num_assignment")


Output:

 

As it can be seen, both num and num_assignment variables have same attributes of double type.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads