我正在尝试对两个二进制数进行异或运算例如:
10100010异或01000101 = 11100111
MATLAB 的代码:
y = bitxor (10100010,01000101 )
但是当我使用它时, MATLAB 将这两个数字视为十进制数,并给出十进制答案
= 9789327
我怎样才能xor两个二进制数并得到一个二进制答案?
问题似乎是 MATLAB 期望以双重表示形式输入:
不是最优雅的,但一种方法:
y = dec2bin(bitxor(bin2dec(num2str(10100010)), bin2dec(num2str(01000101))));
或者,将位表示为向量中的元素:
y = bitxor([1 0 1 0 0 0 1 0],[0 1 0 0 0 1 0 1]);