Forum: /dev/null Unterschied zwischen == und &?


von Hugo (Gast)


Lesenswert?

Sehr geehrte Freunde

Ich komme bei der Programmiersprache C nicht ganz klar, was der 
Unterscheid zwischen & und == ist.

== ist doch eine Überprüfung, ob diese Zahl wirklich einer Variablen 
übertragen worden ist und & dient dazu, um etwas zu löschen oder zu 
testen..

Stimmen meine Überlegungen?

: Verschoben durch User
von Peter II (Gast)


Lesenswert?


von test (Gast)


Lesenswert?

'==' ist ein Vergleichsoperator und '&' ist eine bitweise 
UND-Verknüpfung

von Alexander L. (alexander82)


Lesenswert?

==  ist ein Vergleichsoperator, welcher true oder false zurückliefert 
wenn beide Werte übereinstimmen
!=  ist ein Vergleichsoperator, welcher true oder false zurückliefert 
wenn beide Werte ungleich sind
&&  ist eine logische UND-Verknüpfung welche nur ture oder false kennt
||  ist eine logische ODER-Verknüpfung welche nur true oder false kennt

&   mit diesem Operator wird eine binäre UND-Verknüpfung aller Bits 
durchgeführt
|   mit diesem Operator wird eine binäre ODER-Verknüpfung aller Bits durchgeführt

Da die Definition von TRUE = 0 und FALSE != TRUE, kann man mittels einer 
bitweisen (logischen) UND-Verknüpfung einer Variable mit einer Bitmaske 
testen, ob das Bit gesetzt ist. Wird eine Variable mit einer Bitmaske 
ODER-Verknüpft, sind alle Bits, welche in der Maske nicht gesetzt wurden 
automatisch Null.

von Stefan (Gast)


Lesenswert?

Vorsicht ist geboten bei der Präzedenz der beiden Operatoren, da & auch 
noch die inklusive logische UND-Operation ist ( && ist die exklusive).
S.

von test (Gast)


Lesenswert?

:((( nee, ich war einfach nur etwas langsamer, hättest du dir auch 
selbst denken können, oder willst du alles so kommentieren? :(((((((((

von Chris F. (chfreund) Benutzerseite


Lesenswert?

Hugo schrieb:
> Ich komme bei der Programmiersprache C nicht ganz klar, was der
> Unterscheid zwischen & und == ist.

Jetzt kann man nicht mal mehr sowas selber nachschlagen. Meine Güte.

von Besserwisser (Gast)


Lesenswert?

> Da die Definition von TRUE = 0 und FALSE != TRUE,
Das ist aber nicht üblich und hängt von der Sprache ab.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Besserwisser schrieb:
> Da die Definition von TRUE = 0 und FALSE != TRUE,
> Das ist aber nicht üblich und hängt von der Sprache ab.

Bei der Bash ist das vlt so ...

ein if (bla & 0x1) {} ist true, wenn das LSB gesetzt ist ... Das würde 
dem True=0 widersprechen.

In C ist alles True, was nicht 0 ist.

von Thomas E. (thomase)


Lesenswert?

2B|!2B

von A. S. (Gast)


Lesenswert?

>> Da die Definition von TRUE = 0 und FALSE != TRUE,

Wenn, dann bei C genau anders Herum:
FALSE = 0
TRUE = !FALSE

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.