Starting out
Get the Ebook Get Started with C or C++ Getting a Compiler Book Recommendations
Tutorials
C Tutorial C++ Tutorial Java Tutorial Game Programming Graphics Programming Algorithms & Data Structures Debugging All Tutorials
Practice
Practice Problems Quizzes
Resources
Source Code Source Code Snippets C and C++ Tips Finding a Job
References
Function Reference Syntax Reference Programming Links Programming FAQ
Getting Help
Message Board Ask an Expert Email About Us
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 assignment to our variable), but storing it in a float it loses some precision, and so comparing then comparing a double with a float lead to microscopic changes in the precision of the number--remember that floats and doubles are not precise. Two lessons here: one is that floating point numbers shouldn't be compared directly most of the time, and the other is that the default size and type of a hard-coded floating point number is double. For more on floating point numbers, read understanding floating point numbers--accuracy and precision.