Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

vb-anweisung in c++ umwandeln





Frage

Hi ihr! Kann mir jemand sagen, was diese Anweisung bewirkt: If (DataOut And 128) = 128 Then ... wobei DataOut=n*16 Die Anweisung kommt in einem Beispielprogramm vor, aber ich weiss absolut nicht, was das 'And' bewirken soll. Wie kann ich die Anweisung in C++ umsetzen? Wenn ich schreibe: If ((DataOut && 128) == 128) ... dann kriege ich ne Warnung: "warning C4806: '==' : unsichere Operation: kein Wert vom Typ 'bool' erweitert auf Typ 'const int' kann mit der angegebenen Konstante übereinstimmen" danke für eure hilfe

Antwort 1 von Casvil

Dann nimm nur ein Gleichheutszeichen.
©as

Antwort 2 von hendrikw

Ich denke, dass das AND soll ein Bit-Operator sein; in C: & (nur eins).
Dann stimmen auch die Datentypen überein.
mfg
Hendrik

Antwort 3 von omicron

wunderbar... es klappt :) danke

Antwort 4 von Casvil

Welche Antwort hat denn den Erfolg gebracht? jetzt bin ich neugierig:)
©as

Antwort 5 von semi

@Casvil
Sicherlich beide :)
if((DataOut & 128) == 128)

Antwort 6 von Alf

Nur fürs Protokoll:
Trotz gleichen Zeichen ist die Anzahl entscheidend, besonders in C++. In allen höheren Programmiersprachen (C, C++, Java, etc.) steht ein Gleichheitszeichen als Zuweisungsoperator. Also
String einGleichheitszeichen = "Zuweisungsoperator.";

Wohingegen zwei Gleichheitszeichen als Vergleichsoperator dienen.
if (vergleichsOperator == "==")


Bei dem UND-Zeichen "&" verhält es sich ähnlich. Ein Undzeichen ist, wie schon gesagt, ein Bit-Operator.
int bitOperation = 2 & 2;

Zwei Undzeichen dienen zur booleashen oder logischen Verknüpfung.
boolean abc = false && true; (=false)
boolean def = true && true; (=true)


Haben wir wieder was dazu gelernt.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: