首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于Array of byte 转换 Float 有关问题

2013-01-08 
关于Array of byte 转换 Float 问题vara: array[0..3] of byteb: Singlebegina[0] : $00a[1] : $00a

关于Array of byte 转换 Float 问题
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  错误的

为什么会出现这样的结果,我需要动态设置数组长度,要正确的结果,应该怎么写,谢谢大侠们。
[解决办法]
b := PSingle(@a)^;
改成
b := PSingle(@a[0])^;

[解决办法]
楼上正解……
[解决办法]
楼上正解 。。。。。
[解决办法]
动态数组的名字不是内存的首地址,固定数组是,所以用kaikai_kk的方法可以。

热点排行