Unterschied zwischen: If not a = 2 und If a <> 2
Übersicht

lastkingBetreff: Unterschied zwischen: If not a = 2 und If a <> 2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was ist der Unterschied? Ist eines von beiden schneller? Oder ist es egal welches man verwendet?
lg |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
a<>2 ist 3 zeichen kürzer und somit 3 bytes weniger quellcode...
und nun ernsthaft: es ist voll egal |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es gibt keinen Unterschied.
Und "If Not a=2" ist bei 1000 Schleifendurchgängen um 1Millisekunde langsamer :> |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde a<>2 bevorzugen - nicht nur weil es wie meine Vorposter schrieben kurzer und vielleicht sogar gaaaanz geringfügig schneller ist - auch weil man mit Not ohne der Verwendung von Klammern sich eigentlich nur selbst Fallstricke baut... | ||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
lastking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
okay alles klar ![]() war auch nur interessenhalber... ![]() wobei ich a<>2 auch übersichtlicher oder schöner finde, irgendwie... gruß! |
||
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huch, irgendwie erschrickt mich das ein wenig, dass fast jeder sagt, es gibt keinen Unterschied.
Man bedenke, dass Vergleichsoperatoren wie >,<,=,<> eine höhere Priorität als der NOT Befehl haben. Somit wird bei "IF not a=2" zuerst geprüft ob a=2 ist, dann wird hiervon das Ergebnis negiert. Bei "If a<>2" wird hingegen geprüft, ob a ungleich 2 ist. Somit müssen bei der ersten Variante zwei Operationen ausgeführt werden, bei der 2. Variante nur eine. Auch wenn das hier jetzt einige als überflüssiges Geschwafel ansehen, möchte ich doch anmerken, dass man sich auf keinen Fall die 1. Variante aneigenen soll, da das Prinzip ein grundverschiedenes ist. Übertragen auf andere Fälle, kann einem das ziemlich in die Irre führen. ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimme Chester zu, wobei allerdings das Not![]() Code: [AUSKLAPPEN] While Not KeyHit(1)
;code Wend Geht natürlich auch wie folgt: Code: [AUSKLAPPEN] While KeyHit(1)<>1
;code Wend oder Code: [AUSKLAPPEN] While KeyHit(1)=0
;code Wend aber beide Alternativvarianten finde ich nicht so schön gelöst. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
lastking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Chester
Also ich finde es immer gut, wenn man solche Kleinigkeiten erfährt. Dann erhält man viel mehr Grundwissen und kann sich so viel besser ein gesamtes Bild der Vorgänge bzw Arbeitsweise von BB und/oder Computer machen. Zum anderen sind ja 2 Operationen immerhin schonmal das doppelte von einer! Ich denke mir immer das Kleinvieh ja auch Mist macht und warum nicht auch direkt vernünftig lernen wie man effekiv proggt. Also gut zu wissen ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group