主要内容

bitrol

按位左旋

说明

c = bitrol(a, k) 返回定点 fi 对象 a 的值左旋 k 位后的结果。bitrol 将位从最高有效位 (MSB) 侧旋转至最低有效位 (LSB) 侧。它对 a 的存储整数值位执行左旋操作。

bitrol 不检查上溢或下溢。它会忽略 fimath 属性,如 RoundingModeOverflowAction

ac 具有相同的 fimathnumerictype 属性。

示例

示例

全部折叠

创建一个无符号定点 fi 对象,其值为 10,字长为 4,小数长度为 0。

a = fi(10,0,4,0);
disp(bin(a))
1010

a 左旋 1 位。

disp(bin(bitrol(a,1)))
0101

a 左旋 2 位。

disp(bin(bitrol(a,2)))
1010

创建一个由 fi 对象组成的向量。

a = fi([1,2,5,7],0,4,0)
a = 
     1     2     5     7

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 4
        FractionLength: 0
disp(bin(a))
0001   0010   0101   0111

将向量 a 中的位左旋 1 位。

disp(bin(bitrol(a,1)))
0010   0100   1010   1110

创建一个无符号定点 fi 对象,其值为 10,字长为 4,小数长度为 0。

a = fi(10,0,4,0);
disp(bin(a))
1010

a 左旋 1 位,其中 kfi 对象。

disp(bin(bitrol(a,fi(1))))
0101

输入参数

全部折叠

要旋转的数据,指定为由 fi 对象组成的标量、向量、矩阵或多维数组。a 可以是有符号或无符号的。

数据类型:定点 fi

复数支持:是

要旋转的位数,指定为非负整数值标量 fi 对象或内置数值类型。k 可以大于 a 的字长。此值始终归一化为 mod(a.WordLength,k)

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

扩展功能

全部展开

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

版本历史记录

在 R2007b 中推出