 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 26.04.2003, 19:07 Titel: Operatoren |
|
|
Hi,
gibt es eigentlich einen "echten" Unterschied zwischen dem logischen Operator ! (nicht) und dem Vergleichsoperator != ungleich
if !(x==y)
ist doch im Prinzip das selbe wie
if (x!=y)
Oder irre ich mich doch bzw. gibt es Ausnahmen?
MfG |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 26.04.2003, 19:53 Titel: |
|
|
So wie du das beschrieben hast, gibt es keinen Unterschied. Ein Unterschied zwischen ! und != existiert aber wohl. Das eine ist eine Negation, das andere ein Vergleich...
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 27.04.2003, 13:31 Titel: |
|
|
Aber es lassen sich doch immer beide Varianten einsetzen?
Oder könntest du mir ein Beispiel zeigen, dass das widerlegt?
 |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 27.04.2003, 14:48 Titel: |
|
|
Was man verwendet sollte man von der Situation abhängig machen.
Willst du vergleichen, ob zwei Werte (z.B. Integer) gleich sind, schreibt man am besten: Code: | if(Integer1==Integer2) {
...
} | Will man hingegen vergleichen, ob zwei Werte Ungleich, also Nicht gleich sind, schreibt man Code: | if(Integer1!=Integer2) {
...
} | , das spart gegenüber Code: | if(!(Integer1==Integer2)) {
...
} | eine Anweisung, die der Prozessor weniger Berechnen muss.
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 27.04.2003, 21:50 Titel: |
|
|
Hi,
wie schon erwähnt sparst du Zeit, aber es gibt auch einen Unterschied zwischen dem logischen Operator Not und dem Vergleichsoperator, folgende ist soweit ich weiß nicht mit dem Vergleichoperator möglich...
Code: | void CKlasse::ChangeValue(){
bValue=!bValue; /*bValue = bool Variable der Klasse CKlasse*/
} |
Du könntest zwar auch eine Funktion schreiben, welche immer den Wert des Booleans ändert mit dem Vergleichsoperator, doch diese würde länger werden und auch mehr Zeit in der Ausführung benötigen.
Gruss Tarek |
|
Nach oben |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 30.04.2003, 12:20 Titel: |
|
|
THX für die Erklärungen
btw. @ voriger Beitrag Sie haben anstatt != =! verwendet, weshalb es eigentlich nicht funktionieren kann  |
|
Nach oben |
|
 |
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 30.04.2003, 13:34 Titel: |
|
|
Zitat: | btw. @ voriger Beitrag Sie haben anstatt != =! verwendet, weshalb es eigentlich nicht funktionieren kann |
Nein! Das ist ja gerade das wichtige!
Zur Erklärung: Man kann ! als Vergleichsoperator benutzen. Die Anweisung if(1 != 2) ist wahr, denn 1 ist ja ungleich 2.
Man kann ! aber auch zur Negation von bool-Variablen benutzen.
Beispiel:
Code: |
bool b = true; // b hat jetzt den Wert 'true'
b = !b; // jetzt hat b den Wert 'false', denn !b ist eine Anweisung, die den Wert der Variable b negiert wieder gibt, also !true = false bzw. !false = true.
|
Du siehst also, dass man ! als Vergleichsoperator oder bei Zuweisungen benutzen kann.
PS.: Im Forum lassen wir das SIE weg. Wir sind doch Freunde  _________________ Es geht auch ohne  |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|