var
a: array[0..3] of byte;
b: Single;
begin
a[0] := $00;
a[1] := $00;
a[2] := $FA;
a[3] := $44;
b := PSingle(@a)^;
showmessage(FloatToStr(b));
end;
上面显示为2000 正确var
a: array of byte;
b: Single;
begin
SetLength(a, 4);
a[0] := $00;
a[1] := $00;
a[2] := $FA;
a[3] := $44;
b := PSingle(@a)^; showmessage(FloatToStr(b));
end;
显示为1.9817325433e-38 错误的为什么会出现这样的结果,我需要动态设置数组长度,要正确的结果,应该怎么写,谢谢大侠们。
a: array[0..3] of byte;
b: Single;
begin
a[0] := $00;
a[1] := $00;
a[2] := $FA;
a[3] := $44;
b := PSingle(@a)^;
showmessage(FloatToStr(b));
end;
上面显示为2000 正确var
a: array of byte;
b: Single;
begin
SetLength(a, 4);
a[0] := $00;
a[1] := $00;
a[2] := $FA;
a[3] := $44;
b := PSingle(@a)^; showmessage(FloatToStr(b));
end;
显示为1.9817325433e-38 错误的为什么会出现这样的结果,我需要动态设置数组长度,要正确的结果,应该怎么写,谢谢大侠们。
改成
b := PSingle(@a[0])^;