![]() |
c - logische operatoren - vergleich
auf ein neues: hab ich da wieder mal einen denkfehler? oder stimmt mal wieder des skript nicht *grml*
Code:
übungsbeispiele: ergebnisse laut skript: 17 ist kleiner als 20 (trifft zu) - 17 ist aber nicht kleiner als 4-4 (trifft nicht zu) da aber beide zutreffen müssen ist das ergebnis bei mir 0 hmm... scheibar komm ich auch irgendwie nicht mit dem ! not operator zurecht: !0 ergebnis =1 (ist mir klar, wenn der operand gleich 0 ist, dann ist das ausdrucksergebnis 1, wenn nicht dann 0) !14 || 12 > 11 ergebnis= 1 (wieso? !14 ist nicht null also muss ergebnis= 0 sein und 12 ist grösser als 11, also trifft zu, ergebnis=1) nach welcher regel wird beurteilt, das logische oder, hilft mir dabei nicht wirklich und die operanden haben die gleiche priorität. ich hab mir schon das gehirn verrenkt aber ich komm einfach nicht drauf welchen denkfehler ich begehe. |
Re: c - logische operatoren - vergleich
Zitat:
Wenn der Operator && vorkäme wär das Ergebnis 0. 17 < 20 && !(4-4) Ich würd auch sagen es ist 1 weil !0 bedeutet ja alle Zahlen außer 0 sind wahr. Alles ohne Gewähr, hab auch Probleme beim C++ Programmieren an der Uni. ;) |
Re: Re: c - logische operatoren - vergleich
sry doppelpost...
|
Re: c - logische operatoren - vergleich
[quote]Original geschrieben von Bastet
Code:
17 < 20 && !(4-4) ergebnis= 1 denke aber es ist 0!! Code:
(17 < 20) && !(4-4) Code:
(17 < 20) - > 1 Code:
!(4-4) - > !(0) - > 1 Code:
1 && 1 |
danke erstmal - ich glaub ich habs
!14||12>11 also sobald ein , oder || operator dabei ist, wird davon ausgegangen dass einer wahr ist. @fabsi ja, daran dachte ich auch schon, aber auf grund eines anderen beispiels habe ich den gedanken wieder verworfen. |
Verstaubten Kernighan Ritchie aus dem Schrank hol ...:D
Bei solchen Aufgaben ist es wichtig, die Priorität der Operatoren zu kennen. vielleicht hilft dir das hier weiter, wenn nicht eh schon bekannt -> Code:
Priorität Operator Assoziativität |
Re: c - logische operatoren - vergleich
Zitat:
! liefert immer null, wenn operand <> 0 ist |
operatoren, die in der gleichen zeile stehen, haben gleiche priorität. aso - die wie oben in der liste aufgezählt wurden zb. + - gleiche priorität.
@maxb wahhh.... verwirr mich nicht :lol: !not - ist dieser operand gleich null ist das ausdrucksergebnis 1, andernfalls 0 somit: !10 ergebnis= 0 !0 ergebnis= 1 !14 ergebnis= 0 gibts zu ! evt. ne erklärung für dummies? hab schon überall nachgelesen, aber es wird immer wie oben erklärt. |
Re: Re: c - logische operatoren - vergleich
Zitat:
z.B. 15<10||3+5==8 ist das Ergebnis 1 weil 3+5=8 wahr ist. |
Zitat:
http://www.schellong.de/c.htm Das ist mein Standardnachschlagwerk, wenn ich wo nicht weiter weiß. (a || b) = c: Logisch oder: Sobald a ODER b 1 ergeben ist c 1 (a && b) = c: Logisch und: Sobald a UND b 1 ergeben ist c 1 deiner erklärung von ! war eh gut: !Zahl liefert 1 wenn Zahl 0 ist und 0 wenn Zahl nicht 0 ist. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag