Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie funktioniert der Bitweiser Operator &
RafaelVogt
myCSharp.de - Member



Dabei seit:
Beiträge: 27

Themenstarter:

Wie funktioniert der Bitweiser Operator &

beantworten | zitieren | melden

Hallo zusammen,


namespace _2_4_Operatoren____4_Bitweise_Operatoren
{
    class Program
    {
        static void Main(string[] args)
        {
            int zahl1 = 60;
            int zahl2 = 13;

            // bitweise darstellung der Zahlen
            Console.Write("Die Bitweise Darstellung der Zahl {0} lautet: ", zahl1);
            Console.WriteLine(Convert.ToString(zahl1, toBase: 2));
            Console.Write("Die Bitweise Darstellung der Zahl {0} lautet: ", zahl2);
            Console.WriteLine(Convert.ToString(zahl2, toBase: 2));

            Console.WriteLine();

            Console.WriteLine("Taste drücken um fortzufahren:");
            Console.ReadKey();

            Console.WriteLine();

            // Ausgabe der bitweisen Darstellung der Zahlen, verbunden durch &
            int zahl3 = zahl1 & zahl2;
            Console.Write("Die bitweise Darstellung der Zahlen, verbunden durch & lautet: ");
            Console.Write(Convert.ToString(zahl3, toBase: 2));
            Console.WriteLine(" ({0})",zahl3);

            Console.WriteLine();
            Console.WriteLine("Taste drücken um zu beenden:");
            Console.ReadKey();
        }
    }
}

Mir ist überhaupt nicht klar, wie der bitweise Operator & Funktioniert. Wie resultiert aus 60&13 zwölf? Was macht dieser Operator genau mit der bitweisen Darstellung der Zahlen?
private Nachricht | Beiträge des Benutzers
trib
myCSharp.de - Member



Dabei seit:
Beiträge: 691

beantworten | zitieren | melden

Hallo Rafael,

ein & liefert nur dann eine 1, wenn beide eingehenden bits ebenfalls 1 entsprechen.
Leider rückt Dein Programm die binäre Darstellung nicht ein.

60: 00111100
13: 00001101
____________


Nun kannst Du wie bei einer Addition die Spalten untereinander übernehmen, wo in beiden eine 1 drin steht. Der Rest bleibt 0.
Das ergibt die binäre Darstellung von 12. Eine 1 bei 4 und eine weitere bei 8.
private Nachricht | Beiträge des Benutzers
RafaelVogt
myCSharp.de - Member



Dabei seit:
Beiträge: 27

Themenstarter:

beantworten | zitieren | melden

Begriffen. Danke (-:
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 6.856
Herkunft: Waidring

beantworten | zitieren | melden

Hallo RafaelVogt,

vorsorglich der Hinweis zu [Hinweis] Wie poste ich richtig? Punkt 1.1.

Google-Suche nach bitweise operationen -> Bitweiser Operator

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
RafaelVogt
myCSharp.de - Member



Dabei seit:
Beiträge: 27

Themenstarter:

beantworten | zitieren | melden

Ich habe beides bemüht. Eine menschliche Erklärung hat mir dann doch wieter geholfen. Aber ja generell werde ich darauf achten. Ist ja noch ein langer Weg.
private Nachricht | Beiträge des Benutzers