MATLAB Answers


what is the difference between data types single and double in simulink ?

Asked by Gokul Prassad on 8 May 2019
Latest activity Commented on by Gokul Prassad on 8 May 2019
I tried to change the data type uint16 to double and i was getting an output of 10 digit number for inputs of a constant decimal number and 1 digit number.
But when I tried the same with data type single, I got the right anwer (with decimal points).
Kindly explain.


Not very clear. Can you rephrase or maybe give an example?
Dear Raj,
I just wanted to know the difference between datatypes 'single' and 'double'.
Also what happens to the output when one uses input datatype 'double' in the place of 'single' ?

Sign in to comment.




1 Answer

Answer by Raj
on 8 May 2019
Edited by Raj
on 8 May 2019
 Accepted Answer

Your floating point data (Decimal Data) can be represented either via Single data type of Double data type. The basic difference being the precision between the two types. Now contary to the name, its not the precision that doubles. Its the number of Bits used in your computer memory for storing the data that doubles. Single datatype uses 32 bits of memory whereas Double uses 64 bits of memory. With higher precision, you get better accuracy but at the cost of memory and processing. This being a nutshell summary, you can google out for details. Hope this helps!

  1 Comment

This being my basic understanding i attempted to multiply two data with datatypes 'uint16' and 'double'. I set the required output datatype from the product block to be 'double'. The output was a 10 digit number. When i converted all data types to double, I got the same weird result.
But when I converted all datatypes to single, I got the correct answer which was decimal number. Can you explain this please ?

Sign in to comment.