使用 Misra 检查某些代码时,它生成了以下消息
Unpermitted operand to operator '>>' [MISRA 2012 Rule 10.1 required]
Unpermitted operand to operator '&' [MISRA 2012 Rule 10.1 required]
Run Code Online (Sandbox Code Playgroud)
我无法理解这个问题,而且规则 10.1 的描述非常笼统,没有多大帮助。相关代码如下。
float variable2;
variable2= 814.00f;
Data[0] = (((Int16) variable2) >> 8) & ((Int16)0xFF);
Data[1] = ((Int16) variable2) & ((Int16)0xFF);
Run Code Online (Sandbox Code Playgroud)
这段代码中使用运算符有什么问题?