﻿# V6113\. Suspicious division\. Absolute value of the left operand is less than the value of the right operand\.

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

Рассмотрим пример:

```cpp
int a = 5; 
int b = 10; 
int result = a / b;  // Результат: 0
```

В результате выполнения данного фрагмента кода переменная 'result' всегда будет равна нулю\. Такие операции могут быть логическими ошибками: программист использовал некорректное значение или указал не ту переменную\. 

Если операнды указаны верно и требуется точное значение результата деления, исправить данный фрагмент кода можно путём явного приведения типов перед выполнением деления: 

```cpp
int a = 5; 
int b = 10; 
double result = (double)a / b;  // Результат: 0.5
```

Подобная ситуация не будет ошибкой, когда операция деления выполняется с вещественными числами:

```cpp
double a = 5; 
double b = 10; 
double result = a / b;  // Результат: 0.5
```

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

```cpp
int a = 5; 
int b = 10; 
int result = a % b;  // Результат: 5
```