bool64类型在哪里?

时间:2015-01-06 19:23:15

标签: delphi delphi-xe7

我目前正在移植一个在某些情况下使用longbool的小应用程序,并且如果我找到一个就会使用bool64类型。将类型更改为in64然后设置/检查0以查找是否为true / false并不是一个大问题但是如果有某种方法可以启用bool64我会使用它。

有人知道吗?

2 个答案:

答案 0 :(得分:2)

没有64位宽的布尔类型。布尔类型列在documentation

  

4种预定义的布尔类型是Boolean,ByteBool,WordBool和LongBool。布尔值是首选类型。其他存在是为了提供与其他语言和操作系统库的兼容性。

     

布尔变量占用一个字节的内存,ByteBool变量也占用一个字节,WordBool变量占用2个字节(一个字),LongBool变量占用4个字节(2个字)。

因此,如果您需要一个充当布尔值的64位类型,则必须使用64位整数。你可以使用带有隐式强制转换操作符的增强记录使语法更加顺从Boolean

我无法想象为什么你需要一个64位的布尔值。我从未遇到过使用这种类型的库。我想知道你是不是在思考。

答案 1 :(得分:0)

FreePascal 有一个 64 位 C 布尔类型,并称之为“qwordbool”