首頁  >  文章  >  後端開發  >  bool 變數在轉換為整數時是否保證轉換為 0 或 1?

bool 變數在轉換為整數時是否保證轉換為 0 或 1?

Linda Hamilton
Linda Hamilton原創
2024-11-12 14:46:02490瀏覽

Is a bool variable guaranteed to convert to 0 or 1 when cast to an integer?

Bool 轉換為Int 時的保證值

問題:

是否保證儲存在bool 中的值變數轉換為整數時將為0 或1 (int)?

答案:

是的,保證。

原因:

C 和 C 程式語言都特別定義了 bool 值轉換為整數。

在C 中,C 標準(§4.5/4) 規定:

「bool 型態的右邊值可以轉換為int 型別的右邊值,其中false 為零,true成為一體。 ”

在C 語言中,C 標準(§6.3.1.2/1)狀態:

“當任何標量值轉換為_Bool 時,如果該值比較等於0,則結果為0;否則,結果為1。”

當轉換_Bool 值時對於int,該值保持不變,因為int 可以同時容納0 和 1 (§6.3.1.3).

因此,您可以相信,bool 變數在轉換為 int 時將始終包含 0 或 1。

以上是bool 變數在轉換為整數時是否保證轉換為 0 或 1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn