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