标准数据类型
语法
说明
Boolean 数据类型.只有两个值
True 或
False.
boolean 数据类型
注意点:理想情况下,布尔型数据类型的定义是,它只有两个值为 True 或 False。但实际情况不是这样的。布尔型数据类型的实际定义是一个整数,8 位宽(1字节),具有值 0 或 1,所有其他值都未定义。 然而,由于长期存在 C/C++ 和 FB 之间关于逻辑操作的分歧,还必须考虑值的解释。 假设 'False' 在 C/C++ 和 FB 是0。 C/C++ 有 'No' 的逻辑运算符 '!' 这样 ' ! 0' 运算结果是 '1'。 FB 是按位 执行Not 运算符这样 'Not 0' 生产 '-1'。 因此一个布尔值,C/C++ 的定义是无符号的 1 位整数,零扩展,以填补较大的整数类型,和一个布尔值;FB 的boolean定义是有符号的 1 位整数,标志扩展以填充较大的整数类型。 但无论如何,boolean数据类型,它应该只认为True或False,不管底层的详细信息。
注:上面所述原因,为了与c/c++兼容,导致boolean的True在FB中会显得比较混乱。Cint、Clng等函数会将False转换成0,将True转换成-1。Str()会将False转换成“False”字符串,将True转换成“True”字符串。
以下是比较底层的信息,不一定百分百准确:(1)为了和c/c++兼容,boolean在内存中工作的值是0和1,如果用指针引用要比较注意这一点;(2)当boolean转换为数值,会变成0和-1;(2)比较操作符,只有两个参数都是boolean,才能进行比较并返回boolean。(3)算术运算符,boolean类型不能直接进行加减等运算,必须显示转成数值才能进行算术运算。
例程
Dim boolvar As Boolean
boolvar = True
Print "boolvar = ", boolvar
输出:
boolvar = true