Main Content

bitsra

算术右移位

说明

示例

c=bitsra(a,k) 返回定点运算的输入 a 算术右移 k 位的结果。对于浮点运算,它执行乘以 2-k 的运算。

如果输入是无符号数,bitsra 将零移至它向右移的位所在的位置。如果输入是有符号数,bitsra 将最高有效位 (MSB) 移至它向右移的位所在的位置。

bitsra 忽略 fimath 属性,如 RoundingModeOverflowAction

afi 对象时,ac 具有相同的关联 fimathnumerictype 对象。

示例

全部折叠

创建一个有符号定点 fi 对象,其值为 -8,字长为 4,而小数长度为 0。然后显示该对象的二进制值。

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

a 右移 1 位。

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

bitsra 将 MSB 移至它向右移的位所在的位置。

使用 bitsraint8 输入右移 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 中推出

另请参阅

| | |