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
Hugo schrieb: > Stimmen meine Überlegungen? nein. https://de.wikibooks.org/wiki/C-Programmierung:_Ausdr%C3%BCcke_und_Operatoren
'==' ist ein Vergleichsoperator und '&' ist eine bitweise UND-Verknüpfung
== 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.
Vorsicht ist geboten bei der Präzedenz der beiden Operatoren, da & auch noch die inklusive logische UND-Operation ist ( && ist die exklusive). S.
:((( nee, ich war einfach nur etwas langsamer, hättest du dir auch selbst denken können, oder willst du alles so kommentieren? :(((((((((
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.
> Da die Definition von TRUE = 0 und FALSE != TRUE,
Das ist aber nicht üblich und hängt von der Sprache ab.
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.
>> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.