介绍MATLAB中与位运算有关的函数,包括bitset,bitget,bitand,bitor,bitxor,bitshift.
工具/材料
MATLAB 2016a
操作方法
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位。
好了,以上就是大致内容了,(END)
位操作还有swapbtyes用来交换字节。
侵权/下架等问题请将详细资料(包括资料证明,侵权链接)等相关信息发送至邮箱:423292473@qq.com