Main Content

bitsra

ビット シフト右算術

説明

c=bitsra(a,k) は、固定小数点演算の場合、入力 a に対する k ビットの算術右シフト演算の結果を返します。浮動小数点演算の場合は 2-k の乗算を実行します。

入力が符号なしの場合、bitsra は各ゼロを右にシフトしたビット位置にシフトします。入力が符号付きの場合、bitsra は最上位ビット (MSB) を右にシフトしたビット位置にシフトします。

bitsra では、RoundingMode および OverflowAction などの fimath プロパティは無視されます。

afi オブジェクトである場合、a および c は、関連付けられた同じ fimath および numerictype オブジェクトをもちます。

すべて折りたたむ

値が –8、語長が 4、小数部の長さが 0 の符号付き固定小数点 fi オブジェクトを作成します。次に、オブジェクトの 2 進数値を表示します。

a = fi(-8,1,4,0);
disp(bin(a))
1000

a を 1 ビット右にシフトします。

disp(bin(bitsra(a,1)))
1100

bitsra は、右にシフトされたビットの位置に MSB をシフトします。

bitsra を使用して int8 入力を 2 ビット右にシフトします。

a = int8(64);
bitsra(a,2)
ans = int8
    16

fi シフト値を使用した組み込みの int8 入力の右シフト。

k = fi(2);
a = int8(64);
bitsra(a,k)
ans = int8
    16

浮動小数点 double 入力を 2-3 でスケーリングします。

a = double(128);
bitsra(a,3)
ans = 16

入力引数

すべて折りたたむ

シフトさせるデータ。スカラー、ベクトル、行列または fi オブジェクトや組み込み数値型の多次元配列として指定されます。

データ型: fi |single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

複素数のサポート: あり

シフトするビット数。非負の整数値スカラー fi オブジェクトまたは組み込み数値型として指定されます。

データ型: fi |single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

拡張機能

バージョン履歴

R2007b で導入