大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> Delphi中的布尔类型

Delphi中的布尔类型

时间: 2021-07-31 作者:daque

 delphi中设置了四种布尔典型:boolean,bytebool,wordbool和longbool。反面三种布尔典型是为了与其余谈话兼容而引入的,普遍情景下倡导运用boolean典型。

这四种典型的布尔值占用外存的数目如次:

boolean    1 byte

bytebool   1 byte

wordbool  2 bytes(1 word)

longbool   4 bytes(2 words)

对于bytebool,wordbool和longbool三种典型true恒量的值为非零,false为零,不妨用ord因变量考证;

而对于boolean典型,true恒量的值为1,false为零。在憧憬boolean值的左右文中,编写翻译器会将bytebool,wordbool和longbool三种典型的非零值变换为true。

但是,在delphi中布尔表白式和integer/real是不兼容的。底下的表格比较了boolean与bytebool/wordbool/longbool在异同:

 

boolean

 

 

false < true

ord(false) = 0

ord(true) = 1

succ(false) = true

pred(true) = false

booltostr(true) = -1  //这个因变量很反常

booltostr(false) = 0

 

bytebool, wordbool, longbool

false <> true

ord(false) = 0

ord(true) <> 0

succ(false) = true

pred(false) = true

 

booltostr这个因变量最莫明其妙了,明显说true的值是1,而它却报告咱们true是-1。因变量的究竟是:

function booltostr(b: boolean; useboolstrs: boolean = false): string;

底下这个表是因变量的变换准则:

b      useboolstrs    value of returned string

true    false            '-1'

true    true             trueboolstrs数组的第一个值(default, 'true')

false   false            '0'

false   true             falseboolstrs数组的第一个值(default, 'false')

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.