﻿# V7001\. Operands of a binary operator are equivalent\.

Анализатор обнаружил фрагмент кода, который может содержать логическую ошибку: оператор, операнды которого эквивалентны\.

Пример: 

```cpp
if (a != 0 && a != 0)
```

В данном случае слева и справа от оператора `&&` находятся одинаковые выражения `a != 0`, что сигнализирует об ошибке, допущенной по невнимательности\. Вероятно, требовалось проверить другую переменную:

```cpp
if (a != 0 && b != 0)
```

Также вторая проверка могла оказаться лишней\.

Учитываются также не идентичные, но эквивалентные выражения\. Например, на данный фрагмент кода:

```cpp
if ((a * b) > (b * a))
```

Будет выдано предупреждение, так как операция умножения является коммутативной, и результат окажется одинаковым\.