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