主要内容

bitsliceget

获取位的连续切片

说明

c = bitsliceget(a) 返回定点输入 a 中的整组位。

示例

c = bitsliceget(a, lidx) 返回来自 a 的一个连续位片,从位置 lidx 开始,到 LSB(位置 1 处的位)结束。

示例

c = bitsliceget(a, lidx, ridx) 返回来自 a 的一个连续位片,从位置 lidx 开始,到位置 ridx 结束。

bitsliceget 参量必须满足以下条件:

a.WordLength >= lidx >= ridx >= 1

示例

示例

全部折叠

从以下定点数开始。

a = fi(85,0,8,0);
disp(bin(a))
01010101

获取 a 的整组位。

c = bitsliceget(a);
disp(bin(c))
01010101

从以下定点数开始。

a = fi(85,0,8,0);
disp(bin(a))
01010101

从位置 6 开始,获取连续位的二进制表示。

c = bitsliceget(a,6);
disp(bin(c))
010101

从以下定点数开始。

a = fi(85,0,8,0);
disp(bin(a))
01010101

获取从 fi(6)fi(2) 的连续位的二进制表示。

c = bitsliceget(a,fi(6),fi(2));
disp(bin(c))
01010

从以下无符号定点 3×3 矩阵开始。

a = fi([2 3 4;6 8 2;3 5 1],0,4,0);
disp(bin(a))
0010   0011   0100
0110   1000   0010
0011   0101   0001

获取矩阵 a 的一组连续位的二进制表示。对于每个元素,从位置 4 开始,到位置 2 结束。

c = bitsliceget(a,4,2);
disp(bin(c))
001   001   010
011   100   001
001   010   000

输入参数

全部折叠

输入数组,指定为由定点 fi 对象组成的标量、向量、矩阵或多维数组。如果 a 有一个有符号 numerictype,则存储整数的位表示是 2 的补码表示。

数据类型:定点 fi

切片的开始位置,指定为内置类型标量。lidx 表示切片中最接近 MSB 的位置。

数据类型fi|single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

切片的结束位置,指定为内置类型标量。ridx 表示切片中最接近 LSB(位置 1 处的位)的位置。

数据类型fi|single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参量

全部折叠

定点 fi 输出,指定为标量、向量、矩阵或无定标的多维数组。字长等于切片长度 lidx-ridx+1

如果 lidxridx 相等,则 bitsliceget 只对一位进行切片,且 bitsliceget(a, lidx, ridx)bitget(a, lidx) 相同。

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。

版本历史记录

在 R2007b 中推出

另请参阅

| | | | |