Вы можете мне помочь и объяснить, почему этот код дает ошибку? Я хотел бы использовать XOR
, но я не могу. Я пытаюсь сделать это, используя следующую формулу:.»A XOR B= (A AND ~B)OR(~A AND B)
Можете ли вы намекнуть, что я сделал неправильноПочему код отображает ошибку?
public = 'public';
password = 'passwd';
if length(public)== length(password)
public = uint8(public);
password = uint8(password);
negpublic = ~(dec2bin(public));
negpassword = ~(dec2bin(password));
score = bitor(bitand(public,negpassword),bitand(negpublic,password));
public = dec2bin(public);
password = char(password)
else
fprintf('length not ok!\n');
end
Какая ошибка? – rayryeng
Обратите внимание, что 'dec2bin' возвращает' char', так как Matlab в настоящее время не имеет типа битовых данных. Вместо этого используйте [бит-мутные операторы] (http://www.mathworks.com/help/matlab/bit-wise-operations.html) для целых чисел. – TroyHaskin