小编use*_*760的帖子

运算符“>>”和“&”不允许的操作数 (MISRA C)

使用 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)

这段代码中使用运算符有什么问题?

c embedded misra

4
推荐指数
1
解决办法
2275
查看次数

标签 统计

c ×1

embedded ×1

misra ×1