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 %老师说可能是舍入误差引起的,多了一位这些够暂时用的了。不够以后补上