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 %老师说可能是舍入误差引起的,多了一位这些够暂时用的了。不够以后补上
本文详细介绍了MATLAB中bitcmp函数的使用方法及注意事项,包括如何指定不同位数的取反操作,并通过示例展示了针对不同类型的整数进行取反后的二进制表示。
1309





