定义了type TByte8Array = array[0..7] of byte; v: double;请问TByte8Array(v)[0]~TByte8Array(v)[7]表示什么意思?谢谢。
Double占用8个字节(array [0..7] of Byte)
所以TByte8Array(v)[0]~TByte8Array(v)[7]
表示V的第一个字节的值到第七个字节的值
不知是不是这样表达,:)
所以TByte8Array(v)[0]~TByte8Array(v)[7]
表示V的第一个字节的值到第七个字节的值
不知是不是这样表达,:)
TByte8Array(V)[ 0 ] = 88
TByte8Array(V)[ 7 ] = AA
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)
...
我仍旧不知是什么意思?
比如:
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; //类型其实是描述数据存储的方式