
- C++ Basics
- C++ Home
- C++ Overview
- C++ Environment Setup
- C++ Basic Syntax
- C++ Comments
- C++ Data Types
- C++ Variable Types
- C++ Variable Scope
- C++ Constants/Literals
- C++ Modifier Types
- C++ Storage Classes
- C++ Operators
- C++ Loop Types
- C++ Decision Making
- C++ Functions
- C++ Numbers
- C++ Arrays
- C++ Strings
- C++ Pointers
- C++ References
- C++ Date & Time
- C++ Basic Input/Output
- C++ Data Structures
- C++ Object Oriented
- C++ Classes & Objects
- C++ Inheritance
- C++ Overloading
- C++ Polymorphism
- C++ Abstraction
- C++ Encapsulation
- C++ Interfaces
Floating point comparison in C++
Here we will see how to compare two floating point data using C++. The floating point comparison is not similar to the integer comparison.
To compare two floating point values, we have to consider the precision in to the comparison. For example, if two numbers are 3.1428 and 3.1415, then they are same up to the precision 0.01, but after that, like 0.001 they are not same.
To compare using this criteria, we will find the absolute value after subtracting one floating point number from another, then check whether the result is lesser than the precision value or not. By this we can decide that they are equivalent or not.
Example
#include <iostream> #include <cmath> using namespace std; bool compare_float(float x, float y, float epsilon = 0.01f){ if(fabs(x - y) < epsilon) return true; //they are same return false; //they are not same } int main() { float x, y; x = 22.0f/7.0f; y = 3.1415f; if(compare_float(x, y)){ cout << "They are equivalent" << endl; } else { cout << "They are not equivalent" << endl; } if(compare_float(x, y, 0.001f)){ cout << "They are equivalent" << endl; } else { cout << "They are not equivalent" << endl; } }
Output
They are equivalent They are not equivalent
- Related Articles
- Comparison of floating point values in PHP.\n
- Floating-point hexadecimal in Java
- Signed floating point numbers
- C++ Floating Point Manipulation
- Fixed Point and Floating Point Number Representations
- Floating-point conversion characters in Java
- Format floating point number in Java
- Decimal fixed point and floating point arithmetic in Python
- PHP Floating Point Data Type
- Floating point operators and associativity in Java
- What are floating point literals in C#?
- Mask using floating point equality in Numpy
- Format floating point with Java MessageFormat
- What are C++ Floating-Point Constants?
- Integer literals vs Floating point literals in C#

Advertisements