卡在 MATLAB 中做 XOR 两个二进制数



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

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]);

最新更新