www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bedeutung von "&"


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab ne kleine Frage und ich denke die kann hier schnell und 
unkompliziert gelöst werden :D

was bedeutet/bewirkt das "&" in:

 if (i & value) DATA=1                 (ist nur ein bsp.)

danke schonmal :)
grüße
sven

PS: gibts ne gute seite wo ich solche dinge nachsehen kann?? :)

Autor: Bruno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nennt sich Operatoren 
http://home.fhtw-berlin.de/~junghans/cref/CONCEPT/... und 
das Teil da stellt eine logische UND-Verknüpfung dar.

Der ausdruck ist wahr, wenn i und value den gleichen Wert haben.
p.s. Da fehlt das ;

Gruß ErgoProxy

Autor: A. F. (artur-f) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitweise und
wie z.B. 0b01101 & 0b10001 = 0b00001

Ja es gibt 10e-15 Seiten, wo man C Grundlagen lernen kann.
http://www.mikrocontroller.net/articles/C

Autor: Bruno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schneller ;)

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle hilfe...

grüße

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas K. wrote:
> das Teil da stellt eine logische UND-Verknüpfung dar.
Bitte genauer: Es ist eine bitweise logische UND-Verknüpfung.

> Der ausdruck ist wahr, wenn i und value den gleichen Wert haben.
Falsch. Er ist dann wahr, wenn der Zustand mindestens eines Bits in i 
und in value übereinstimmt (und 1, also wahr, ist).

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mag sein hast du aber auch den Fehler gesehn und darauf hingewiesen? ^^ 
Oder hast du erklärt was das & bedeutet grins so gesehn war ich 
schneller. Naja sagen wir Gleichstand =)

Gruß ErgoProxy

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der ausdruck ist wahr, wenn i und value den gleichen Wert haben.
das stimmt nicht wirklich, das ausdruck ist wahr wenn mindestens ein Bit 
in beiden werten 1 ist.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter wrote:
>>Der ausdruck ist wahr, wenn i und value den gleichen Wert haben.
> das stimmt nicht wirklich, das ausdruck ist wahr wenn mindestens ein Bit
> in beiden werten 1 ist.
Mann, bist Du langsam... ;-)

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Danke  @Johannes M. hast recht habs mit && verwechselt ^^ die 8 
Stunden an den EIDE Specs scheinen sich etwas bemerkbar zu machen.

Gruß ErgoProxy

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas K. wrote:
> Oh Danke  @Johannes M. hast recht habs mit && verwechselt ^^
Auch bei && wird nicht auf Gleichheit überprüft! && ist dann wahr, wenn 
beide Opranden wahr sind. Sie müssen aber keineswegs übereinstimmen!

Für eine Überprüfung auf Übereinstimmung gibt es immer noch den 
"=="-Operator, und der liefert tatsächlich nur dann ein "true" zurück, 
wenn die Operanden gleich sind...

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cool :?

also muss bei "&" nur in beiden mindestens ein gleiches bit 1 sein??

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven wrote:
> cool :?
>
> also muss bei "&" nur in beiden mindestens ein gleiches bit 1 sein??
Ja, wenn der Ausdruck als Wahrheitswert ausgewertet wird.

01101000b & 00001111b = 00001000b, letzteres ist ungleich 0, also wahr.

Ansonsten macht der &-Operator nur eine bitweise logische VerUNDung der 
Operanden, d.h. er verknüpft im Gegensatz zum &&-Operator nicht die 
Operanden als Ganzes, sondern eben jedes Bit einzeln. Das Ergebnis der 
Verknüpfung ist eben eine Maske, bei der alle Bits, die in beiden 
Operanden 1 sind, ebenfalls 1 sind, alle anderen Bits sind 0.

Ob man dieses Ergebnis wie oben als Wahrheitswert auswertet (in C ist 
alles wahr, was nicht falsch ist, und falsch ist nur die 0) oder 
anderweitig verwendet, bleibt einem selbst überlassen.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok ... danke euch :D

grüße

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Johannes M. ja stimmt auch wieder ^^ hast ja Recht, das Beispiel war 
einfach komplett falsch ich hab einfach ned richtig drüber nachgedacht 
und bin grade auch etwas übermüdet =) also nicht alles so genau nehmen 
was ich schreibe.

Gruß ErgoProxy

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist erschreckend, mit welcher Selbstverständlichkeit falsche 
Antworten gegeben werden...

~

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas K.:

Wie Du auf der von Dir verlinkten Seite nachlesen kannst, ist das, was 
Du schreibst falsch!

Es handelt sich hier nicht um ein logisches Und, sondern ein bitweises. 
Und das gibt unterschiedliche Ergebnisse!

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andy:
Es ist aber auch nicht nötig, eine halbe Stunde nach der eigentlich 
endgültigen Klärung des Sachverhaltes durch das "Schuldeingeständnis" 
des Verursachers noch mal draufzuhauen...

@Sinusgeek:
Frohes neues!

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Johannes:

Dir und Deinem Anhang auch ein frohes, xundes und erfolgreiches 2009.

Und allen Anderen natürlich auch...

~

Autor: Andreas K. (ergoproxy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sinus - Vllt hast du schon mal was von dem berühmten Spruch "errare 
humanum est" gehört. Es war weder mit Absicht noch mit sonnstwas es war 
einfach nicht vollständig drüber nachgedacht und man hätte mit 
Leichtigkeit in dem von mir selbst geposteten und aus google als gut 
rausgesuchten Link die richtige Lösung erarbeiten können. Auch das 
Stichwort unter dem man suchen muss ist ja wohl nicht falsch. Also ich 
verstehe echt überhaupt nicht wenn man es sogar zugegeben hat einen 
Fehler gemacht zu haben, dass es Leute gibt die so unverschämt daher 
kommen und dann solche Äußerungen machen anstelle eines sinvollen 
Beitrags.

@ Andy - Ich empfehle nochmal meinen letzten Beitrag über dir zu LESEN - 
da steht schon drinn, dass es mist war, was da oben STEHT, worauf mich 
Johannes M. netterweise auch hingewiesen hat.

@ Johannes M. - Nochmal Danke =)

P.s. Ja ich weiß nicht die Trolle füttern aber das musste jetzt einfach 
mal sein.

Gruß ErgoProxy

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß auch ohne Deinen lateinischen Spruch, dass irren menschlich 
ist, das passiert mir selbst auch oft genug.

Hier (in diesem Thread) ist nur allerhand Halbwahres bzw. Falsches 
geschrieben worden, bis Johannes es richtigstellte.

Meine Äußerung sollte eigentlich bewirken, dass die Betroffenen bzw. die 
sich angesprochen Fühlenden künftig etwas mehr über ihre Antwort 
nachdenken, ehe sie sie abschicken und nicht, dass man sich auf den 
Schlips getreten fühlt. Es geht eben nicht nur um die Schnelligkeit 
einer Antwort, sondern auch etwas um das Vermeiden falscher Antworten. 
Und daher stehe ich zu meiner Äußerung, ich finde es erschreckend, mit 
welcher Unbekümmertheit unüberlegt und vorschnell geantwortet wird, als 
ob es für die Antworten Bonuspunkte gäbe.

So, jetzt muss ich erstmal wieder ein paar Sinüsse knacken...

~

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so leute danke für die antworten aber haun' müsst ihr euch ned :D

frohes neues ja!

grüße
sven

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sinusgeek wrote:

> So, jetzt muss ich erstmal wieder ein paar Sinüsse knacken...

Betreffend den Plural von Sinus siehe folgenden Link:

http://matheplanet.com/default3.html?call=viewtopi...

SCNR

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Link, der betrifft wohl eher den Akademiker und weniger 
die Verballhornung (m)eines Nicks. Es handelt sich um einen bewusst 
gemachten Fehler, also eine Art von Humor. Oder was stellst Du Dir unter
Sinüsse knacken vor? Gemeit war so etwas wie Haselnüsse, Walnüsse oder 
Paranüsse knacken, also eine Tätigkeit mit Nussknacker. Zugegeben, nicht 
Jeder ist in der Lage, sooo um die Ecke zu denken. ;-)

Nochmal zum mitmeißeln:
Sinüsse ist eine Verballhornung meines Nicks Sinusgeek.
Sinusgeek ist zwar auch eine Verballhornung, die Hintergründe dazu 
gehören aber nicht hierher, das ist eine andere Baustelle... ;-)

Und wenn jetzt ein Moderator aus diesem Thread alle falschen Antworten 
und alle nicht zur Frage gehörenden Beiträge (also auch meine) löscht, 
dann hat er meinen Segen.

~

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.