Ist wahr gleich 1 und falsch gleich 0? [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
Don Luna

Ich habe mich gefragt, tut es true gleich 1 und false gleich 0 und wie?

Benutzer-Avatar
Andreas Marschall

false == 0 und true = !false. Dh alles, was nicht Null ist und in einen booleschen Wert umgewandelt werden kann, ist es nicht falsealso es muss sein true. Einige Beispiele zur Verdeutlichung:

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 entspricht 1aber alle Nicht-Null int bewertet zu true aber nicht gleich zu true außer 1.

  • true == 1. Andere Nicht-Null-Werte sind wahr, sind es aber nicht true.

    – dan04

    4. März 2011 um 2:55 Uhr

  • Nein, er hat recht. Ich mache die impliziten Konvertierungen klar. int(true)==1und bool(2)==truesondern 2 != int(true).

    – MSalter

    4. März 2011 um 8:54 Uhr

  • Ich verstehe, was Sie sagen, aktualisierte Antwort, um den Unterschied zwischen deutlich zu machen auswerten zu true und sein gleich zu true.

    – Andreas Marshall

    4. März 2011 um 9:16 Uhr

  • 2 ist auch wahr? Das heißt, jede Nicht-Null ist wahr?

    Benutzer6288471

    4. August 2016 um 0:41 Uhr

  • @ user6288471 Ja, das stimmt.

    – EIN

    17. August 2017 um 16:57 Uhr

Ja, das ist richtig. “Boolesche Variablen haben nur zwei mögliche Werte: wahr (1) und falsch (0).”
cpp-Tutorial zu booleschen Werten

  • bool hat KEINEN ganzzahligen Wert. C++ verlangt dies beim Konvertieren von bool in ganzzahlige Typen true wertet zu 1 und falsche wertet zu 0und von Integral/Float-Typen heißt es, dass ein Nullwert, soo 0 und -0 auswerten zu falsealle anderen Werte werden ausgewertet true. boolist ein ganzzahliger Typ, aber keine ganze Zahl. Intern kann ein Compiler entscheiden, den Wert 3 für zu verwenden false und 64 für wahr, da der Standard keine Beschränkungen für seine interne Darstellung auferlegt.

    – ABaumstumpf

    10. Februar um 11:29 Uhr

1013170cookie-checkIst wahr gleich 1 und falsch gleich 0? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy