坚持在 matlab 中对两个二进制数进行异或运算

stuck in doing xor two binary numbers in matlab

我正在尝试对两个二进制数进行异或运算 例如:

10100010 xor 01000101 = 11100111

matlab 代码:

y =  bitxor (10100010,01000101 )

但是当我使用它时, matlab 将这 2 个数字视为十进制数,并给出十进制答案

= 9789327

如何异或两个二进制数并得到二进制答案?

问题似乎是 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]);