Double占用8个字节(array [0..7] of Byte)
所以TByte8Array(v)[0]~TByte8Array(v)[7]
表示V的第一个字节的值到第七个字节的值
不知是不是这样表达,:)

解决方案 »

  1.   

    你指的是类型转换吧?TByte8Array(v)[0]是指把v变量转换成 TByte8Array类型的变量,然后取指改类型——数组的第一个值。不过好像你的这个转换会出错。
      

  2.   

    假设V:=$AABBCCDDEEFF9988
    TByte8Array(V)[ 0 ] = 88
    TByte8Array(V)[ 7 ] = AA
      

  3.   

    我做的结果是这样的:
    v := 1; TByteArray(v) = (0, 0, 0, 0, 0, 0, 240, 63)
    v := 2; TByteArray(v) = (0, 0, 0, 0, 0, 0, 0, 64)
    v := 3; TByteArray(v) = (0, 0, 0, 0, 0, 0, 8, 64)
    v := 4; TByteArray(v) = (0, 0, 0, 0, 0, 0, 34, 64)
    ...
    我仍旧不知是什么意思?
      

  4.   

    数据的存储是以字节为单位
    比如:
    Byte(1字节)
    Char(1字节)
    Word(2字节)
    Integer(4字节)
    Int64(8字节)
    Double(8字节)
    .... ....要知道,一切数据其实都是指针类型,因为数据都有其存储的地址
    请参考如下代码
    var
      C: Char;
      B: Byte;
    begin
      C := 'a';
      B := Byte(C); //这就是把字符类型强制转换为字节类型
    //其实就是把C存放的数据当成字节类型来读取
      Char(B) := C; //这个道理也一样
    end;var
      C: Char;
      B: Byte absoulte C; //让B和C存储同一地址
    begin
      C := a; //B 就是 97
    end;var
      W: Word;
      C: array[0..1] of Char absoulte W;
    begin
      W := $1234; //C[0] = $34; C[1] = $12;
    end;type TByte8Array = array[0..7] of byte; //类型其实是描述数据存储的方式