メインコンテンツ

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

符号付き整数の右シフトを許可

符号付き整数のビット単位右シフトを許可する

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

説明

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

設定

on (既定値) | off

既定の設定: オン

オン

符号付き整数のビット単位右シフトを使用するコードを生成します。

たとえば、このオプションを選択すると、生成されたコードに右シフトが出現します。

i >>= 3

オフ

符号付き整数の右シフトを許可しません。このオプションの選択を解除すると、MISRA C™ 準拠がサポートされます。

たとえば、このオプションの選択を解除すると、右シフトは関数呼び出しに置き換えられます。

i = asr_s32(i, 3U);

すべて展開する

[符号付き整数の右シフトを許可] を別の値に設定したときに、生成コードが符号付き整数のビット単位右シフトをどのように実装するかを比較します。

次の生成コードは、[符号付き整数の右シフトを許可] に既定値の on を使用して生成されたものです。生成されたコードに右シフトが出現します。

i >>= 3

同じコードを [符号付き整数の右シフトを許可]off に設定して生成すると次のようになります。右シフトは関数呼び出しに置き換えられます。

i = asr_s32(i, 3U);

推奨設定

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

プログラムでの使用

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

バージョン履歴

R2015b で導入