这个序列太长,难以直接转换为整数进行计算,可以这样——从高位开始,一个一个的截取十六进制字符,转换为整数后对1600进行取余,得到的结果乘以16后叠加进后一个字符的计算过程,如下所示:function HexStrMod(const HexStr: String;
ModNum: Integer):Integer;var i,n:Integer;
begin
Result:=0;
//初始余数为0 //从左到右依次遍历字符串,进行转换并取余 for i:=1 to Length(HexStr)do
Result:=(Result*16+StrToInt('$'+HexStr)) mod ModNum;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(HexStrMod('7318efc576d8c24b47540d5acfd58e5a',1600)));
end;