Delphi中的布林型別

2021-03-31 08:57:01 字數 1693 閱讀 3308

delphi

中定義了四種布林型別:

boolean

,bytebool

,wordbool

和longbool

。後面三種布林型別是為了與其他語言相容而引入的,一般情況下建議使用

boolean

型別。這四種型別的布林值占用記憶體的數量如下:

boolean   

1byte

bytebool  

1byte

wordbool 

2bytes

(1 word

)longbool  

4bytes

(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) =

0ord(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

')

Python中布林型別

我們已經了解了python支援布林型別的資料,布林型別只有true和false兩種值,但是布林型別有以下幾種運算 與運算 只有兩個布林值都為 true 時,計算結果才為 true。true and true true true and false false false and true false...

Python中布林型別

python中布林型別 我們已經了解了python支援布林型別的資料,布林型別只有true和false兩種值,但是布林型別有以下幾種運算 與運算 只有兩個布林值都為 true 時,計算結果才為 true。true and true true true and false false false an...

Python中布林型別

我們已經了解了python支援布林型別的資料,布林型別只有true和false兩種值,但是布林型別有以下幾種運算 與運算 只有兩個布林值都為 true 時,計算結果才為 true。true and true true true and false false false and true false...