Как представить Bitxor для мода в Matlab
Я хочу реализовать xor поразрядно вместе. Например, у меня есть две пары битов: 6 (110) и 3 (011). Теперь я хочу реализовать побитовое xor двух входов. Это может сделать функция bitxor в Matlab.
out=bitxor(6,3);%output is 5
Но я хочу реализовать схему с помощью функции мода вместо bitxor. Как это сделать с помощью Matlab? Спасибо большое. это мой код
out=mod(6+3,2^3) %2^3 because Galois field is 8 (3 bits)
1 ответ
Код
function out = bitxor_alt(n1,n2)
max_digits = ceil(log(max(n1,n2)+1)/log(2));%// max digits binary representation
n1c = dec2bin(n1,max_digits); %// first number as binary in char type
n2c = dec2bin(n2,max_digits); %// second number as binary in char type
n1d = n1c-'0'; %// first number as binary in double type
n2d = n2c-'0'; %// second number as binary in double type
out = bin2dec(num2str(mod(n1d+n2d,2),'%1d')); %// mod used here
return;