主要内容

bitget

获取在特定位置上的位

说明

c = bitget(a, bit) 以字长为 1 的无符号整数形式返回由在 a 中的 bit 指定的位置上的位的值。

示例

示例

全部折叠

以如下无符号定点 fi 数字为例,其值为 85,字长为 8,小数长度为 0:

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

获取位置 4 上的位的二进制表示:

c = bitget(a,4);

bitget 返回 a 的二进制表示中位置 4 上的位。

从字长为 4、小数长度为 0 的有符号定点 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

获取在指定位置上位的二进制表示。

c = bitget(a,fi(2))
c = 
     1     1     0
     1     0     1
     1     0     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

MATLAB® 返回 a 中位置 fi(2) 上的位组成的矩阵。输出矩阵的维度与 a 相同,字长为 1。

从字长为 16、小数长度为 4 的有符号定点向量开始。

a = fi([86 6 53 8 1],0,16,4);
disp(bin(a))
0000010101100000   0000000001100000   0000001101010000   0000000010000000   0000000000010000

创建一个指定要获取位的位置的向量。

bit = [1,2,5,7,4]
bit = 1×5

     1     2     5     7     4

获取 a 的在 bit 中指定位置上的位的二进制表示。

c = bitget(a,bit)
c = 
     0     0     1     0     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

bitget 返回由 a 的在 bit 中指定位置上的位组成的向量。输出向量的长度与输入 abit 相同,字长为 1。

创建一个值为 pi 的默认 fi 对象。

a = fi(pi);
disp(bin(a))
0110010010001000

默认对象为有符号、字长为 16。

创建一个由要在 a 中获取位的位置组成的向量,并获取这些位的二进制表示。

bit = fi([15,3,8,2]);
c = bitget(a,bit)
c = 
     1     0     1     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 1
        FractionLength: 0

MATLAB® 返回一个向量,该向量包含 a 中由索引向量 bit 指定的位置上的位。

输入参数

全部折叠

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

数据类型:定点 fi

位索引,指定为由 fi 对象或内置数据类型组成的标量、向量、矩阵或多维数组。如果 abit 均为非标量,则它们必须具有相同的维度。bit 必须包含介于 1a 的字长之间(包括二者)的整数值。LSB(最右边的位)由位索引 1 指定,MSB(最左边的位)由 a 的字长指定。bit 不必一定是由连续的位位置组成的向量;它也可以是变量索引值。

a = fi(pi,0,8);
a.bin
11001001

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

输出参量

全部折叠

输出数组,指定为无符号标量、向量、矩阵或多维数组,其 WordLength 为 1。

如果 a 是数组且 bit 是标量,则 c 是字长为 1 的无符号数组。此无符号数组包含 a 中每个定点元素中位置 bit 上的位的值。

如果 a 是标量且 bit 是数组,则 c 是字长为 1 的无符号数组。此无符号数组包含 abit 指定位置上的位的值。

扩展功能

全部展开

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

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |