bitshift
指定したビット数のシフト
説明
は、c
= bitshift(a
,k
)k
ビット分シフトされた fi
オブジェクト a
の値を返します。
シフトは b = a.*2^k
のように動作する算術シフトで、b
の値が入力 a
の型にキャストされます。b
のキャストにより、オーバーフローや精度の低下が発生する可能性があります。
a
の OverflowAction
プロパティは維持されますが、RoundingMethod
は必ず Floor
です。a
の RoundingMethod
プロパティの維持が重要である場合は、関数 pow2
を使用してください。
a
のオーバーフロー アクションが Saturate
である場合、符号ビットは常に保持されます。a
のオーバーフロー アクションが Wrap
である場合、k
が負であれば符号ビットが保持されます。a
のオーバーフロー アクションが Wrap
で k
が正である場合は、符号ビットが変わる可能性があります。
k
が正である場合、値が 0 のビットは右側にシフトします。k
が負、a
が符号なしまたは符号付きの正のfi
オブジェクトである場合、値が 0 のビットは左側にシフトします。k
が負、a
が符号付きおよび負のfi
オブジェクトである場合、値が 1 のビットは左側にシフトします。
例
入力引数
出力引数
拡張機能
バージョン履歴
R2006a より前に導入