プログラミングにおける True と 1、False と 0 の等価性を理解する
多くのプログラミング言語では、便宜上、True と False の値を同等の数値として表します。そして効率性。多くの場合、true には値 1 が割り当てられ、false には値 0 が割り当てられます。
ただし、これらの数値の同等性は、ブール値の意味での厳密な同等性を意味するものではないことに注意することが重要です。
平等と同等
プログラミングにおける平等とは演算子 (==) は 2 つの値が等しいかどうかをチェックします。 true と false の場合、true == 1 と false == 0 の比較は true と評価されます。これは、等価条件を満たす目的では、これらの数値が等しいとみなされることを意味します。
ただし、true と 1、または false と 0 は、あらゆる目的で交換可能ではないことを理解することが重要です。たとえば、値 1 をブール変数に割り当てようとすると、それは true として解釈されますが、変数は真のブール値にはなりません。
ブール評価
多くのプログラミング言語では、ブール値コンテキストではゼロ以外の値が true と評価されます。これは、1 を含むゼロ以外の整数がブール式で使用される場合、true として評価されることを意味します。ただし、これは、厳密な意味で true に等しいという意味ではありません。
たとえば、次のステートメントを考えてみましょう:
if (0) // false if (1) // true if (2) // true
この場合、すべてのステートメントは次のいずれかに評価されます。整数値のゼロ以外の性質に基づいて true または false。ただし、値 1 を持つステートメントのみが厳密に true とみなされ、その他のステートメントはゼロではない性質のため true と評価されます。
結論
while true == 1 と false == 0 は、ブール値のコンテキストでは true と評価されますが、これらはすべてのシナリオで交換可能ではない、または厳密に同等ではないことを覚えておくことが重要です。等価性と評価の区別は、正確で論理的なプログラミングにとって重要です。
以上がプログラミングにおいて True と 1 は等しいのに、等価ではないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。