При проверке кода с помощью Misra он генерировал следующие сообщения
Unpermitted operand to operator '>>' [MISRA 2012 Rule 10.1 required]
Unpermitted operand to operator '&' [MISRA 2012 Rule 10.1 required]
Мне не удалось разобраться в проблеме, а описание правила 10.1 носит очень общий характер и мало помогает. Соответствующий фрагмент кода приведен ниже.
float variable2;
variable2= 814.00f;
Data[0] = (((Int16) variable2) >> 8) & ((Int16)0xFF);
Data[1] = ((Int16) variable2) & ((Int16)0xFF);
В чем проблема с использованием операторов в этом коде?
Int16
- знаковый тип? - person Jabberwocky   schedule 07.03.2019&
. Возможно, MISRA не любит потерю значимости, даже если актерский состав обычно скрывает это. - person Weather Vane   schedule 07.03.2019