メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

2 のべき乗での乗算を符号付きのビット単位シフトに置換

2 のべき乗での乗算を符号付きのビット単位シフトに置換

モデル コンフィギュレーション ペイン: [コード生成] / [コード スタイル]

説明

2 のべき乗での乗算を符号付きのビット単位シフトに置換するかどうかを指定します。MISRA などのコーディング規約によっては、符号付き整数のビット演算を許可しないものもあります。このオプションの選択を解除すると、MISRA C™ 準拠コードが生成される可能性が高くなります。

設定

on (既定値) | off

既定の設定: オン

オン

2 のべき乗での乗算を符号付きのビット単位シフトに置き換えたコードを生成します。

オフ

2 のべき乗での乗算を符号付きのビット単位シフトに置き換えることを許可しません。このオプションの選択を解除すると、MISRA C 準拠がサポートされます。

すべて展開する

[2 のべき乗での乗算を符号付きのビット単位シフトに置換] を別の値に設定したときに、2 のべき乗での乗算が生成コードでどのように実装されるかを比較します。

次の生成コードは、[2 のべき乗での乗算を符号付きのビット単位シフトに置換] に既定値の on を使用して生成されたものです。8 による乗算が生成コードで左にシフトされています。

Y.Out1 = (U.In1 << ((int8_T)3));

同じコードを [2 のべき乗での乗算を符号付きのビット単位シフトに置換]off に設定して生成すると次のようになります。8 による乗算がビット単位シフトに置き換えられていません。

Y.Out1 = U.In1 * ((int64_T)8);

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性オン
安全対策影響なし

プログラムでの使用

パラメーター: EnableSignedLeftShifts
型: 文字ベクトル
値: 'on' | 'off'
既定: 'on'

バージョン履歴

R2011b で導入