S1:=B0 04 4F FB0100030000000000000000
S2:=03 00 80 0000000000CDF5B4F320202020异或的结果是FE 我不知道怎么运算?如何做一个循环,进行异或运算 03 Xor B0 Xor 00 Xor 04 Xor 80 Xor 4F ....=FE
最后显示在Memo里

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s1,s2:String;
      i:Integer;
    begin
      S1:='B0 04 4F FB0100030000000000000000';
      S2:='03 00 80 0000000000CDF5B4F320202020';  s1:=StringReplace(s1,' ','',[rfReplaceAll]);
      s2:=StringReplace(s2,' ','',[rfReplaceAll]);  memo1.Lines.Clear;
      memo1.Lines.Add(s1);
      memo1.Lines.Add(s2);  i:=StrToInt('$'+Copy(s1,1,2));
      Delete(s1,1,2);  While s1>'' do
      begin
        i:=i Xor StrToInt('$'+Copy(s1,1,2));
        Delete(s1,1,2);
      end;  While s2>'' do
      begin
        i:=i Xor StrToInt('$'+Copy(s2,1,2));
        Delete(s2,1,2);
      end;  s1:=IntToHex(i,2);
      memo1.Lines.Add('Xor的结果是:'+s1);
    end;