【发布时间】:2016-01-12 18:19:14
【问题描述】:
你能帮我解释一下为什么这段代码会出错吗?我想使用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
【问题讨论】:
-
请注意,
dec2bin返回char,因为 Matlab 目前没有位数据类型。在整数上使用bit-wise operators。