MATLAB 帮助中心
算术右移位
c=bitsra(a,k)
c=bitsra(a,k) 返回定点运算的输入 a 算术右移 k 位的结果。对于浮点运算,它执行乘以 2-k 的运算。
a
k
2-k
如果输入是无符号数,bitsra 将零移至它向右移的位所在的位置。如果输入是有符号数,bitsra 将最高有效位 (MSB) 移至它向右移的位所在的位置。
bitsra
bitsra 忽略 fimath 属性,如 RoundingMode 和 OverflowAction。
fimath
RoundingMode
OverflowAction
当 a 为 fi 对象时,a 和 c 具有相同的关联 fimath 和 numerictype 对象。
fi
c
numerictype
示例
全部折叠
创建一个有符号定点 fi 对象,其值为 -8,字长为 4,而小数长度为 0。然后显示该对象的二进制值。
a = fi(-8,1,4,0); disp(bin(a))
1000
将 a 右移 1 位。
disp(bin(bitsra(a,1)))
1100
bitsra 将 MSB 移至它向右移的位所在的位置。
使用 bitsra 将 int8 输入右移 2 位。
int8
a = int8(64); bitsra(a,2)
ans = int8 16
使用 fi 移位值将内置 int8 输入向右移位。
k = fi(2); a = int8(64); bitsra(a,k)
将浮点 double 输入缩放 2-3。
double
a = double(128); bitsra(a,3)
ans = 16
要移位的数据,指定为由 fi 对象或内置数值类型组成的标量、向量、矩阵或多维数组。
数据类型:fi |single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
single
int16
int32
int64
uint8
uint16
uint32
uint64
复数支持:是
要移位的位数,指定为非负整数值标量 fi 对象或内置数值类型。
全部展开
使用说明和限制:
生成的代码可能无法处理超出范围的移位。
在 VHDL® 代码中生成 sra 运算符。
sra
在 Verilog® 代码中生成 >>> 运算符。
>>>
在 R2007b 中推出
bitsll | bitsrl | bitshift | pow2
bitsll
bitsrl
bitshift
pow2
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处