如何在 delphi中十进制数的每一位变成二进制然后进行异或
2个回答
推荐于2017-11-11 · 知道合伙人软件行家
关注
展开全部
delphi 中,可以用 xor 操作符完成 异或 计算。
以下是示例代码:
function IntToBin(const value, digits: longword): string;
var
counter: integer;
pow: integer;
begin
Result := '';
pow := 1 shl (digits - 1);
if value <> 0 then
for counter := 0 to digits - 1 do
begin
if (value and (pow shr counter)) <> 0 then
Result := Result + '1'
else
Result := Result + '0';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i1,i2,i3: Integer;
begin
i1 := 15; //1111
i2 := 14; //1110
i3 := i1 xor i2;
ShowMessage(IntToStr(i1) + ' 异或 ' + IntToStr(i2) + #13#10
+ '= '+IntToBin(i1,8) + ' 异或 ' +IntToBin(i2,8) + #13#10
+ '= '+IntToBin(i3,8));
end;
运行截图:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询