IRONSOFTWAREHOME

Binäre Werte in C#: Speichern und Anzeigen von Binärwerten

Binär in C#: Speichern und Anzeigen von Binärwerten in 10 Minuten oder weniger.

Tim Corey

9m 43s

Binäre Zahlen sind ein wesentlicher Bestandteil der Datenverarbeitung, und das Verständnis, wie man mit ihnen in C# arbeitet, ist entscheidend für die Handhabung von Low-Level-Operationen, bitweisen Manipulationen und effizienter Speicherung. In diesem Artikel werden die wichtigsten Konzepte der Speicherung und Anzeige von Binärwerten in C# erläutert, in Anlehnung an das Video von Tim Corey, Binary in C#: Speichern und Darstellen von Binärwerten in 10 Minuten oder weniger.

Tim erklärt dieses Thema in einer prägnanten und dennoch detaillierten Art und Weise, so dass es leichter zu verstehen ist. Gehen wir Schritt für Schritt durch seine Erklärung und erkunden wir, wie Binärwerte in C# funktionieren.

Storing Binary Values in C#

Tim beginnt mit der Kernfrage: Wie speichert man eine Binärzahl in C#? Er erklärt, dass Binärzahlen, wie 0b101, Werte der Basis 2 repräsentieren und in Ganzzahlenvariablen gespeichert werden.

Um einen Binärwert zu speichern, demonstriert Tim die folgende Syntax:

int binaryValue = 0b101; // Represents the decimal number 5

Hier ist 0b ein Präfix, das C# anweist, die folgenden Ziffern als Binärzahl zu interpretieren. Tim hebt hervor, dass 0b101 in Dezimalschreibweise gleich 5 ist.

Er stellt auch fest, dass das Hinzufügen von führenden Nullen (z. B. 0b00000101) den Wert nicht ändert. Das System interpretiert es immer noch als 5, da diese zusätzlichen Nullen keine numerische Bedeutung haben.

Printing Binary Values in C#

Nachdem wir einen Binärwert gespeichert haben, ist der nächste Schritt seine Anzeige. Tim weist auf ein interessantes Verhalten hin: Wenn Sie einen binär gespeicherten Wert drucken, konvertiert C# ihn standardmäßig in eine Dezimalzahl.

Zum Beispiel:

Console.WriteLine($"Binary value is: {binaryValue}");
// Outputs: Binary value is: 5

Obwohl binaryValue als 0b101 gespeichert wurde, gibt die Konsole 5 aus. Tim erklärt, dass C# standardmäßig mit der Basis 10 arbeitet, wenn numerische Werte angezeigt werden.

Um den Wert in seinem Binärformat zu sehen, benötigen wir eine Konvertierung.

Ganzzahlen in das Binärformat konvertieren

Tim stellt eine einfache Methode zur Formatierung einer Ganzzahl als binäre Zeichenfolge vor:

string binaryString = Convert.ToString(binaryValue, 2);
Console.WriteLine($"Binary representation: {binaryString}");
// Outputs: Binary representation: 101

Er erklärt, dass Convert.ToString(value, 2) eine Ganzzahl in ihre binäre Darstellung als Zeichenfolge umwandelt. Auf diese Weise, wenn Sie 0b101 gespeichert haben, zeigt die Konsole nun korrekt 101 anstelle von 5 an.

Binärwerte mit führenden Nullen einfügen

Anschließend geht Tim auf ein Problem ein, das bei der Darstellung von Binärzahlen häufig auftritt: die konsistente Formatierung mit führenden Nullen. In vielen Fällen möchten wir, dass eine Binärzahl in einem 8-Bit-Format erscheint (z. B. 00000101 anstelle von nur 101).

Er erklärt, wie man dies mit PadLeft erreicht:

string formattedBinary = binaryString.PadLeft(8, '0');
Console.WriteLine($"Formatted binary: {formattedBinary}");
// Outputs: Formatted binary: 00000101

Hier stellt PadLeft(8, '0') sicher, dass die binäre Zeichenkette immer mindestens 8 Zeichen hat und füllt fehlende Stellen mit Nullen auf. Dies ist besonders nützlich, wenn es um bytegroße Binärwerte geht.

Tim stellt klar, dass die einfachen Anführungszeichen um '0' erforderlich sind, da PadLeft mit Zeichen und nicht mit Zeichenfolgen arbeitet.

Binäre Darstellung von Dezimalzahlen

Ein weiterer wichtiger Punkt, den Tim macht, ist, dass Sie Zahlen nicht im Binärformat (0b-Notation) eingeben müssen, um ihre binäre Darstellung zu erhalten.

Sie können zum Beispiel eine Standard-Dezimalzahl in eine Binärzahl umwandeln:

int decimalNumber = 12;
string binaryRepresentation = Convert.ToString(decimalNumber, 2);
Console.WriteLine($"Binary equivalent of {decimalNumber} is {binaryRepresentation}");
// Outputs: Binary equivalent of 12 is 1100

Hier wird die Zahl 12 als Dezimalzahl gespeichert, aber bei der Umwandlung wird sie korrekt als 1100 in Binärform ausgegeben.

Tim betont, dass diese Technik für die Fehlersuche und das Verständnis, wie Zahlen auf Bit-Ebene gespeichert werden, nützlich ist.

Speichern von Binärzahlen in verschiedenen Datentypen

Tim geht auch darauf ein, wie Binärwerte in verschiedenen numerischen Datentypen gespeichert werden können. Während Ganzzahlen (int) am häufigsten sind, erlaubt C# die Speicherung von Binärwerten in anderen Typen wie uint (vorzeichenlos Ganzzahl) oder long.

Zum Beispiel:

uint unsignedBinary = 0b1010; // 10 in decimal
long largeBinary = 0b1100110011; // A longer binary number

Der wesentliche Unterschied bei uint besteht darin, dass er keine negativen Werte unterstützt, während long deutlich größere Zahlen aufnehmen kann.

Tim merkt an, dass das Verständnis dieser Unterscheidungen bei der Arbeit mit Low-Level-Operationen wie bitweisen Verschiebungen und Maskierungen hilfreich ist.

Abschließende Gedanken

Abschließend fasst Tim die wichtigsten Erkenntnisse zusammen:

  1. Binärzahlen werden in Ganzzahltypen mittels des 0b-Präfixes gespeichert.
  2. Beim Drucken einer ganzen Zahl wird standardmäßig die dezimale Darstellung verwendet, was eine explizite Konvertierung für die binäre Ausgabe erfordert.
  3. Convert.ToString(value, 2) hilft, Zahlen in Binärformat umzuwandeln.
  4. PadLeft sorgt für eine einheitliche Bitlängendarstellung.
  5. Sie können Binärzahlen je nach Anwendungsfall in verschiedenen numerischen Typen speichern.

Mit diesen Techniken wird die Arbeit mit Binärwerten in C# viel einfacher und intuitiver. Um das Thema besser zu verstehen, sollten Sie sich das vollständige Video ansehen.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.