stateflowに記載した即値をオートコードする際、符号なしと認識させる方法はありますか
Show older comments
stateflowに以下のような記載をしました。
a ++;
※変数は、uint8 a;で宣言。
この時、オートコード結果は、以下のようになりました。
a = (uint8)(a + (int16)1);
1を符号ありにキャストしてから、符号なしにキャストとなってしまいました。
無駄なキャストを辞めて、以下のようなオートコードを求めています。
a ++; のまま
もしくは、
a = a + (uint8)1;
即値は全て符号なしと判断され、上記のキャストとなったことは理解できます。
そこで、Stateflow上で即値を"符号なし"と判断させる方法はありませんか。
※C言語の 1u というような記載方法
また、キャストモードは、”明示的”にしています。
"ノミナル"に設定すれば期待した結果となることは確認しましたが、
できれば"明示的"で即値の符号あり/なしをコントロールしたいと考えています。
Accepted Answer
More Answers (1)
Toshinobu Shintai
on 21 Oct 2020
MATLAB言語では、以下のように記述するとデータ型を明示できます。
uint8(1)
上記のuint8の部分は、int32やdoubleなど、標準のデータ型名を用いることができます。
Categories
Find more on 複雑なロジック in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!