因为需要计算1个24位长度的整数进行加减运算  , int64只支持到18位左右    ,  赋值就报错。
请问各位大侠有办法处理吗?   谢谢

解决方案 »

  1.   

     加法的例子var 
    n1,n2,n3:array [0..24] of byte;//以下假设最高位在 n[24]
    //n3是结果-------------------
    n3[0]:=n1[0]+n2[0];
    t:=n3[0] div 10;
    n3[0]:=n3[0] mod 10;for i:=1 to 24 do
    begin
    n3[i]:=n1[i]+n2[i]+t;  
    t:=n3[i] div 10;
    n3[i]:=n3[i] mod 10; 
    end;
    ----------------------
    没有进行测试,你看看吧
    这是最笨的方法,高人还有好办法的,但他们无暇解答
      

  2.   


    t:=0;
    for i:=0 to 23 do 
    begin 
    n3[i]:=n1[i]+n2[i]+t;  
    t:=n3[i] div 10; 
    n3[i]:=n3[i] mod 10; 
    end;
    n3[24]:=t;