Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V6119. The result of '&' operator is...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V6119. The result of '&' operator is always '0'.

20 Сен 2024

Анализатор обнаружил использование побитового 'AND' (&) с операндами, при которых результат операции всегда равен 0. Возможно, использован неподходящий оператор или операнд.

Пример:

final int ACCESS_READ = 0b001; 
final int ACCESS_WRITE= 0b010; 
final int adminMask = ACCESS_READ & ACCESS_WRITE;  // <=

В данном примере создаётся маска из битовых флагов ('final' переменных) для доступа к операциям с файлом. В результате выполнения операции побитового 'AND' в переменной 'adminMask' все биты будут равны нулю, и маска станет бесполезной.

Корректная реализация создания маски будет иметь вид:

final int adminMask = ACCESS_READ | ACCESS_WRITE;

Данная диагностика классифицируется как: