x=0=0

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

bjh

Betreff: x=0=0

BeitragSo, Feb 24, 2013 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
x wird 1, wenn 0=0 ist, sonst 0.

könnt ihr ja mal ausprobieren.

kann mir jemand das erklären, wie sowas funktioniert, oder ob es da noch mehr so zeug gibt?

ZEVS

BeitragSo, Feb 24, 2013 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
1 steht für true (wahr), 0 für false (falsch).
0=0 ist wahr ist also true ist also 1. Das funktioniert mit allen Vergleichsoperatoren.
ZEVS

SpionAtom

BeitragSo, Feb 24, 2013 13:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Das verwirrende ist, dass die beiden Gleichheitszeichen unterschiedliche Dinge bedeuten.
Das erste ist ein Zuweisungsoperator, das zweite ein Vergleichsoperator. Mit entsprechender Klammerung und anderen Bezeichnungen wird die Lage vielleicht etwas deutlicher:
Code: [AUSKLAPPEN]
x = (a = b)


Der Rest ist, wie ZEVS es bereits sagte: Ist der Vergleich (a = b) wahr, so bekommt x den Wert 1 (true). Ist der Vergleich falsch, so bekommt x den Wert 0 (false).
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

BladeRunner

Moderator

BeitragSo, Feb 24, 2013 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Was auch der Grund ist warum andere Sprachen zwischen Vergleich(==) und Zuweisung(=) unterscheiden.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
  • Zuletzt bearbeitet von BladeRunner am So, Feb 24, 2013 14:04, insgesamt einmal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Feb 24, 2013 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz genau. Kann immer verwendet werden, wenn beispielsweise ab, bis oder bei einem bestimmten Wert ein anderer Wert noch hinzu berechnet werden muss.

Möglicher Anwendungszweck wäre:

Code: [AUSKLAPPEN]
If A>100 Then DrawImage Image,X+100,Y Else DrawImage Image,X,Y

;IST IDENTISCH MIT

DrawImage Image,X+(A>100)*100,Y

oder bei einem bestimmten Wert muss das Endergebnis Null sein.

Code: [AUSKLAPPEN]
Print X*(X<>100)

oder nur ein bestimmter Wert wird durchgelassen, alles andere ist Null.

Code: [AUSKLAPPEN]
Print X*(X=100)
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Tennisball

BeitragSo, Feb 24, 2013 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
Vergleich(=) und Zuweisung(==)

Du hast da was vertauscht. :>

BladeRunner

Moderator

BeitragSo, Feb 24, 2013 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Argh, ja. man verzeihe.
Wird korrigiert.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

bjh

BeitragSo, Feb 24, 2013 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen dank für die zahlreichen antworten Wink

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group