Оператор со смешанными битовыми и арифметическими операциями
Этот дефект происходит, когда битовые и арифметические операции выполняются в том же выражении.
Смешанные битовые и арифметические операции действительно компилируют. Однако размер целочисленных типов влияет на результат этих смешанных операций. Например, арифметический эквивалент сдвига влево (<<
) определенным числом битов зависит от количества битов в переменном быть смещенном и поэтому на внутреннем представлении его типа данных. С соединением битовых и арифметических операций то же выражение может привести к различным результатам на различных целях.
Смешанные операции также уменьшают удобочитаемость и поддерживаемость.
Разделите битовые и арифметические операции или используйте только один тип операции на оператор.
Группа: хорошая практика |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки: BITWISE_ARITH_MIX |
Удар: низко |
ID CWE: 710 |