Оператор со смешанными побитовыми и арифметическими операциями
Этот дефект возникает, когда побитовые и арифметические операции выполняются в одном выражении.
Смешанные побитовые и арифметические операции выполняют компиляцию. Однако размер целых типов влияет на результат этих смешанных операций. Для образца арифметики эквивалент левого сдвига (<<
) на определенное количество бит зависит от количества бит в сдвигаемой переменной и, следовательно, от внутреннего представления ее типа данных. С помощью сочетания побитовых и арифметических операций одно и то же выражение может привести к различным результатам на разных мишенях.
Смешанные операции также снижают читаемость и поддерживаемость.
Разделите побитовые и арифметические операции или используйте только один тип операции на оператор.
Группа: Хорошая практика |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки: BITWISE_ARITH_MIX |
Влияние: Низкое |
ИДЕНТИФИКАТОР CWE: 710 |