坚持在 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]);
我正在尝试对两个二进制数进行异或运算 例如:
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]);