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