MATLAB如何进行位运算?

作者:落知秋 | 创建时间: 2023-04-23
介绍MATLAB中与位运算有关的函数,包括bitset,bitget,bitand,bitor,bitxor,bitshift....
MATLAB如何进行位运算?

操作方法

首先,我们构建两个类型为uint8的列表A和B,用来稍后的演示。 使用dec2bin函数以显示二进制。

bitand(A,B)会将列表A和B中的对应元素按照位计算与,并返回等长结果列表。

bitand可以有第三个参数:假设的类型。'uint8'表示将前两个参数转为uint8类型。 注意,传入参数可以是整浮点型或者整型,但是需要在假设类型的范围内。 如图,假设了'uint8'就意味着参数范围应该在0~255

同理,bitor按位或/bitxor按位异或,用法都和bitand按位与类似。

bitcmp用来计算补码。如图,当假设'uint8'类型时,00001010会返回11110101。随着假设的数据类型不同,补码长度不同。

bitget函数可以获取整型其中1位数据。用法是 bitget(数据,bit位,[假设类型 ]). 如图,bitget(A,[6:-1:1])将取出A的第6,5,4,3,2,1位组成列表。

bitset函数则可以设置其中一位数据。用法是 bitset(数据,bit位,[附加数值],[假设类型] ) 当附加数值非零时,相应bit位设置1,否则设置0.

bitshift可以用来移位运算。bitshift(A,5,'uint8')表示将A看作八位整型,向左移动5位。

温馨提示

位操作还有swapbtyes用来交换字节。
点击展开全文

更多推荐