如何在Delphi7中定义无符号的64位整数?

在Delphi 7中,int64s是签名的,如果我尝试声明一个大于$8000000000000000的十六进制常量(例如,什么是真正的uint64)我得到一个错误.你能告诉一些解决方法吗?

解决方法

您可以像这样制作变体记录
type muint64 = record
  case boolean of
    true: (i64 : int64);
    false:(lo32,hi32: cardinal);
end;

现在你可以使用红衣主教用无符号数据填充你的uint64.

另一种选择是使用这样的代码

const almostmaxint64 = $800000045000000; 
var muint64: int64;    
begin
   muint64:= almostmaxint64;
   muint64:= muint64 shl 1;
end

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...