MATLAB如何进行位运算?
介绍MATLAB中与位运算有关的函数,包括bitset,bitget,bitand,bitor,bitxor,bitshift.
操作方法
- 01
首先,我们构建两个类型为uint8的列表A和B,用来稍后的演示。 使用dec2bin函数以显示二进制。
- 02
bitand(A,B)会将列表A和B中的对应元素按照位计算与,并返回等长结果列表。
- 03
bitand可以有第三个参数:假设的类型。'uint8'表示将前两个参数转为uint8类型。 注意,传入参数可以是整浮点型或者整型,但是需要在假设类型的范围内。 如图,假设了'uint8'就意味着参数范围应该在0~255
- 04
同理,bitor按位或/bitxor按位异或,用法都和bitand按位与类似。
- 05
bitcmp用来计算补码。如图,当假设'uint8'类型时,00001010会返回11110101。随着假设的数据类型不同,补码长度不同。
- 06
bitget函数可以获取整型其中1位数据。用法是 bitget(数据,bit位,[假设类型 ]). 如图,bitget(A,[6:-1:1])将取出A的第6,5,4,3,2,1位组成列表。
- 07
bitset函数则可以设置其中一位数据。用法是 bitset(数据,bit位,[附加数值],[假设类型] ) 当附加数值非零时,相应bit位设置1,否则设置0.
- 08
bitshift可以用来移位运算。bitshift(A,5,'uint8')表示将A看作八位整型,向左移动5位。
赞 (0)