关于位运算的bitcmp()

时间:2023-01-10 06:25:58

2018/3/19

最近这个命令困扰了周围许多人。

首先附上MathWorks的链接      点击打开链接

以下内容均是个人在matlab中输入尝试和结合网络查询,如有问题欢迎指出。

bitcmp(a)中若只有a一个参数,a为数字,默认为8位double类型。

可以用int8()等命令指定a类型。

若未指定a类型,取反时按'uint64'执行。

bitcmp(a,   )在很久之前的版本(如6.5版本)是输入两个数字,现在是新版了,对旧版不过多研究。 就是这么个东西让周围人一直输入纠结着。

bitcmp(a,'uint8')就是按8位取反。

>> a=31

a =

    31

>> dec2bin(a)

ans =

11111

>> dec2bin(bitcmp(a,'uint8'))

ans =

11100000

>> dec2bin(bitcmp(a,'uint16'))

ans =

1111111111100000

>> dec2bin(bitcmp(a,'uint32'))

ans =

11111111111111111111111111100000

>> dec2bin(bitcmp(a,'uint64'))

ans =

10000000000000000000000000000000000000000000000000000000000000000   %老师说可能是舍入误差引起的,多了一位
这些够暂时用的了。不够以后补上