Floating Point Comparison with Epsilon
C++
Hard
3 views
Problem Description
Compare floating point numbers correctly considering precision errors. This teaches floating point arithmetic issues.
Logic: Check if absolute difference is less than small epsilon value
Official Solution
void question13_float_comparison() {
float a = 0.1f + 0.1f + 0.1f;
float b = 0.3f;
float epsilon = 0.0001f;
cout << "a = " << a << ", b = " << b << endl;
if(a == b) {
cout << "Equal (using ==)" << endl;
} else {
cout << "Not equal (using ==)" << endl;
}
if(abs(a - b) < epsilon) {
cout << "Equal (using epsilon method)" << endl;
} else {
cout << "Not equal (using epsilon method)" << endl;
}
}
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!