Does true equal to 1 and false equal to 0? [duplicate]

false == 0 and true = !false. I.e. anything that is not zero and can be converted to a boolean is not false, thus it must be true. Some examples to clarify:

if(0)          // false
if(1)          // true
if(2)          // true

if(0 == false) // true
if(0 == true)  // false

if(1 == false) // false
if(1 == true)  // true

if(2 == false) // false
if(2 == true)  // false

cout << false  // 0
cout << true   // 1

true is equal to 1, but any non-zero int evaluates to true but is not equal to true except 1.

Leave a Comment