以下は本MISRA C:2012からの抜粋ですが、私には理解できません
複合式 (+ ,- ,* ,/ ,&, |, ^, <<, >>, ?:) の値は、より広い型のオブジェクトに割り当てられません。
例:
u32a = u16a + u16b; //non - compliant to MISRA C guidelines
u16 は uint16_t で、u32 は uint32_t です。
これにより、プログラムの実行中に問題が発生しますか? この場合、u16a が整数オーバーフローを引き起こす可能性があるため、u32a を使用する必要があるかもしれません。