Seite 1 von 1
Ausdrücke : a==0 und !a
Verfasst: So Dez 07, 2014 6:36 pm
von harun
Hallo Leute,
habe ne kurze Frage an euch unszwar möchte ich wissen ob die Ausdrücke in C a==0 und !a immer zum selben Ergebnis kommen? a sei ein Integer.
Danke im Voraus
gruß harry
Re: Ausdrücke : a==0 und !a
Verfasst: So Dez 07, 2014 6:40 pm
von Architekt
!a ist vergleichbar mit a <= 0, denn alle Werte die 0 oder negativ sind ergeben mit dem Not-Operator (!) true.
EDIT dani93: weiterlesen!
Re: Ausdrücke : a==0 und !a
Verfasst: So Dez 07, 2014 6:49 pm
von harun
Architekt hat geschrieben:!a ist vergleichbar mit a <= 0, denn alle Werte die 0 oder negativ sind ergeben mit dem Not-Operator (!) true.
Danke für die schnelle Antwort!
Sprich die Aussage "a==0 ist vergleichbar mit !a" ist nicht richtig.
Schönen Abend noch
Re: Ausdrücke : a==0 und !a
Verfasst: So Dez 07, 2014 7:00 pm
von mfro
Das ist - mit Verlaub - falsch und ein sehr gutes Beispiel dafür, daß man seine Hausaufgaben am besten selber macht...
Re: Ausdrücke : a==0 und !a
Verfasst: So Dez 07, 2014 8:30 pm
von Architekt
mfro hat geschrieben:Das ist - mit Verlaub - falsch und ein sehr gutes Beispiel dafür, daß man seine Hausaufgaben am besten selber macht...
Ich dachte ernsthaft, dass er es kontrollieren und hinterfragen würde... Am besten ich editiere mal den Beitrag entsprechend.
edit: Oh, alte Beiträge kann man nicht editieren? Das ist jetzt doof...

Re: Ausdrücke : a==0 und !a
Verfasst: Di Dez 09, 2014 1:24 pm
von Xin
Architekt hat geschrieben:mfro hat geschrieben:Das ist - mit Verlaub - falsch und ein sehr gutes Beispiel dafür, daß man seine Hausaufgaben am besten selber macht...
Ich dachte ernsthaft, dass er es kontrollieren und hinterfragen würde... Am besten ich editiere mal den Beitrag entsprechend.
edit: Oh, alte Beiträge kann man nicht editieren? Das ist jetzt doof...

Man kann Beiträge genau 60 Minuten lang editieren, um Rechtschreibfehler oder ähnliches zu korrigieren. Danach musst Du Dich an einen Moderator wenden, damit der Verlauf der Diskussion nicht nachträglich verändert wird.
Bei Primitiven (int, double, Zeiger) bedeutet
!var das gleiche wie
var == 0, wie
var das gleiche bedeutet wie
var != 0. Ein Wert ist true, wenn er nicht 0 ist. Ein Wert, der nicht nicht 0 ist, muss also 0 sein.
Bei Klassen können
operator ==() und
operator bool()= -Operator überladen werden und ein Vergleich mit 0 gar nicht vorgesehen sein. Ein "unbestimmtes Bool" kann beispielsweise
true,
false oder auch
unentschieden sein. So dass
if( mybool ) im else-Zweig landet, aber
if( !mybool ) deswegen noch lange nicht im then-Zweig ankommt: Ganz einfach, weil mybool weder true noch false, sondern unentschieden ist.
Re: Ausdrücke : a==0 und !a
Verfasst: Di Dez 09, 2014 2:11 pm
von Nemo
Xin hat geschrieben:Ein Wert ist true, wenn er nicht 0 ist. Ein Wert, der nicht nicht 0 ist, muss also 0 sein.
Das ist aber auch ein schwieriges thema

Re: Ausdrücke : a==0 und !a
Verfasst: Di Dez 09, 2014 2:58 pm
von Xin
Nemo hat geschrieben:Xin hat geschrieben:Ein Wert ist true, wenn er nicht 0 ist. Ein Wert, der nicht nicht 0 ist, muss also 0 sein.
Das ist aber auch ein schwieriges thema

Eigentlich ist es ganz einfach... aber ich erinnere mich daran, dass ich auch mehrere Tage brauchte, um das zu verinnerlichen, als ich damals C lernte.
Darum beschreibe ich das
im Tutorial auch entsprechend ausführlich.