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...