Ausdrücke : a==0 und !a

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
harun
Beiträge: 6
Registriert: So Dez 07, 2014 6:31 pm

Ausdrücke : a==0 und !a

Beitrag von harun » So Dez 07, 2014 6:36 pm

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

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Ausdrücke : a==0 und !a

Beitrag von Architekt » So Dez 07, 2014 6:40 pm

!a ist vergleichbar mit a <= 0, denn alle Werte die 0 oder negativ sind ergeben mit dem Not-Operator (!) true.

EDIT dani93: weiterlesen!

harun
Beiträge: 6
Registriert: So Dez 07, 2014 6:31 pm

Re: Ausdrücke : a==0 und !a

Beitrag von harun » So Dez 07, 2014 6:49 pm

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

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: Ausdrücke : a==0 und !a

Beitrag von mfro » So Dez 07, 2014 7:00 pm

Das ist - mit Verlaub - falsch und ein sehr gutes Beispiel dafür, daß man seine Hausaufgaben am besten selber macht...
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Ausdrücke : a==0 und !a

Beitrag von Architekt » So Dez 07, 2014 8:30 pm

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... :D

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ausdrücke : a==0 und !a

Beitrag von Xin » Di Dez 09, 2014 1:24 pm

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... :D
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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Nemo
Beiträge: 37
Registriert: Sa Mär 02, 2013 3:18 pm

Re: Ausdrücke : a==0 und !a

Beitrag von Nemo » Di Dez 09, 2014 2:11 pm

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 ;)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ausdrücke : a==0 und !a

Beitrag von Xin » Di Dez 09, 2014 2:58 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten