我需要用十六进制值定义一个SmallInt常量。以这种方式:

const
  a: SmallInt = $8000;


当然,$8000值违反了SmallInt的子范围。我知道并且故意这样做。
实际上,我需要将此文字按位转移到16位带符号整数。

如果它是一个变量,我可以使用absolute关键字:

var
  a_prototype: Word;
  a: SmallInt absolute a_prototype;
begin
  a_prototype := $8000;


但这应该是一个常数。

最佳答案

使用演员表

const
  a = SmallInt($8000);


如果您需要一个类型化的常量,那么它将是

const
  a: SmallInt = SmallInt($8000);

关于delphi - 将SmallInt常量定义为十六进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59962785/

10-09 22:59