difference between float and double
In c++ any value like 4.12 is treated as a double by default.Comparing floats and doubles can be a tricky business because of the difference in precision leading to minute errors. For example:
float a = 4.12; if(a==4.12) { cout<<"hello"; } else { cout<<"bye "<} This will show you the output as "bye 4.12" Why? Because by default 4.12 is a double (such as in the if statement or in the assignmentto our variable), but storing it in a float it loses some precision, and so comparingthen comparing a double with a float lead to microscopic changes in the precision ofthe number--remember that floats and doubles are not precise. Two lessons here: one is that floating point numbers shouldn't be compared directlymost of the time, and the other is that the default size and type of a hard-codedfloating point number is double. For more on floating point numbers, read understanding floating point numbers--accuracy and precision.
No comments:
Post a Comment
Thank you