首页->【MATLAB Usage 】

57 0

function [res] = ui_xor(a,b)
%UI_SDEC2BIN 此处显示有关此函数的摘要
% 此处显示详细说明
%  data lenth 12bits
%  the length of a,b is 12bits
a_bin=ui_dec2b(a);
b_bin=ui_dec2b(b);
[~,len]=size(a_bin);
xor_res=0;
for cnt =1:len
    s=a_bin(1,cnt)-48; %ASCII to bin
    t=b_bin(1,cnt)-48;
    re=xor(s,t);% 按位异或
    xor_res=xor_res+re*2^(len-cnt); % bin2dec
end
    res=xor_res;
if xor_res>2047
    res=-1*(4096-xor_res); % signed 12-bit
end
end

function  bin=ui_dec2b(data)
 if data>=0
    bin=dec2bin(data);
    [~,len]=size(bin);
    t=char('0'*ones(1,12-len));
    bin=[t,bin];
  else %use the two's complement representation
    bin=dec2bin(4096+data);
 end
 
end

楼主可见