JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=2465810e99575d505066bc5063f3b2a9Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Operatoren

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
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

BeitragVerfasst am: 26.04.2003, 20:07    Titel: Operatoren Antworten mit Zitat

Hi,
gibt es eigentlich einen "echten" Unterschied zwischen dem logischen Operator ! (nicht) und dem Vergleichsoperator != ungleich Question

if !(x==y)

ist doch im Prinzip das selbe wie

if (x!=y)


Oder irre ich mich doch bzw. gibt es Ausnahmen? Rolling Eyes

MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.04.2003, 20:53    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 27.04.2003, 14:31    Titel: Antworten mit Zitat

Aber es lassen sich doch immer beide Varianten einsetzen?

Oder könntest du mir ein Beispiel zeigen, dass das widerlegt?
Idea
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 27.04.2003, 15:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Starwash
Senior JLI'ler


Alter: 39
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 27.04.2003, 22:50    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 30.04.2003, 13:20    Titel: Antworten mit Zitat

THX für die Erklärungen Smile

btw. @ voriger Beitrag Sie haben anstatt != =! verwendet, weshalb es eigentlich nicht funktionieren kann Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael
JLI'ler



Anmeldedatum: 20.07.2002
Beiträge: 173
Wohnort: Münster / NRW
Medaillen: Keine

BeitragVerfasst am: 30.04.2003, 14:34    Titel: Antworten mit Zitat

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 Smile
_________________
Es geht auch ohne Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum