gpt4 book ai didi

delphi - 将2个字节转换为小整数

转载 作者:行者123 更新时间:2023-12-03 19:13:07 25 4
gpt4 key购买 nike

我需要从2个字节中生成一个小的整数数据类型,我的代码失败
结果= 0

function BytestoSmallInt(B0, B1: Byte): SmallInt;
var
Number: SmallInt;
pointer : ^SmallInt;
small: array [0 .. 1] of Byte absolute Number;
begin
pointer := @Number;
small[0] := B1;
small[1] := B0;
Result := pointer^;
end;

最佳答案

我无法重现您描述的问题。您显示的代码对我来说很好用。

但是,您根本不需要pointer变量:

function BytesToSmallInt(B0, B1: Byte): SmallInt;
var
Number: SmallInt;
small: array [0 .. 1] of Byte absolute Number;
begin
small[0] := B1;
small[1] := B0;
Result := Number;
end;


您甚至还可以摆脱数组:

function BytesToSmallInt(B0, B1: Byte): SmallInt;
begin
Result := (Smallint(B0) shl 8) or B1;
end;

关于delphi - 将2个字节转换为小整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48216776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com