var
  a :array[0..1] of byte;
  i:integer;//i肯定少于10000请问如何将i值赋值给a,并且如何将a读回到i中?谢谢

解决方案 »

  1.   

    //直接对内存操作。
    MoveMemory(@a,@i,2);//正常来说,应该是4个字节。
    MoveMemory(@i,@a,2);//试试看,应该是可行的。
      

  2.   

    i := 500;
    00000000 00000000 00000001 11110100a[0] := BYTE(i); // 244
    a[1] := BYTE(i shr 8); // 1
      

  3.   

    使用beyondtkl的方法已经可以实现了,不过现在又有了一个疑问,
    就是如何将各个字节相加取和。C++中是这样写的,不过我不知道该如何转换为delphi,help!!int sum = 0;
    for(int i = 0; i < buflen; i++) 
      sum += buf[i];
      

  4.   

    相加可以通过ord来取得
      sum := 0;
      for i:=0 to buflen-1 do
        sum:=sum+ord(buf[i]);