CWE-1077

Floating Point Comparison with Incorrect Operator
AI Translation Available

The code performs a comparison such as an
equality test between two float (floating point) values, but
it uses comparison operators that do not account for the
possibility of loss of precision.

Status
incomplete
Abstraction
variant

Numeric calculation using floating point values can generate imprecise results because of rounding errors. As a result, two different calculations might generate numbers that are mathematically equal, but have slightly different bit representations that do not translate to the same mathematically-equal values. As a result, an equality test or other comparison might produce unexpected results.

Common Consequences

other
Impacts
reduce reliability

Detection Methods

automated static analysis

Potential Mitigations