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!

Tim Corey
4m 48s
Binäre Operationen in C# sind entscheidend für die Arbeit auf Bit-Ebene, die Optimierung der Leistung und das Verständnis, wie Daten gespeichert und manipuliert werden. Ein solcher wichtiger Operator ist das binäre NOT (~), das alle Bits einer Zahl umkehrt. Um ein tieferes Verständnis dafür zu bekommen, sehen wir uns das Video von Tim Corey "Binary in C#: The Binary NOT Operator in 10 Minutes or Less"
Tim Corey beginnt mit der Erklärung, dass dieses Video Teil einer Serie zum Verständnis von Binärdateien in C# ist. Diese Lektion ist die siebte in der Reihe und konzentriert sich auf den Operator Binary NOT (~). Er betont, dass es sich um eine kurze Lektion handelt, die nicht länger als zehn Minuten dauern soll, damit sie leicht verständlich und nachvollziehbar ist.
Tim überarbeitet den Startcode, um ihn besser lesbar zu machen. Anstatt binäre Werte manuell zu formatieren, verwendet er einen Doppelpunkt (:) und einen Variablennamen am Ende, um Klarheit zu schaffen. Auf diese Weise bleibt die binäre Darstellung des Wertes am Anfang erhalten, was Vergleiche erleichtert.
Er beginnt mit der Deklaration einer Integer-Variablen:
// Declare an integer variable and assign it the value of 1.
int value = 1;' Declare an integer variable and assign it the value of 1.
Dim value As Integer = 1Dies stellt ein einfaches Szenario dar, in dem der NOT-Operator angewendet werden kann.
Tim stellt den ~-Operator vor und demonstriert seine Syntax:
// Apply the Binary NOT operator to flip all bits of the integer 'value'.
int notValue = ~value;' Apply the Binary NOT operator to flip all bits of the integer 'value'.
Dim notValue As Integer = Not valueEr weist darauf hin, dass sich die Tilde (~) auf den meisten Tastaturen in der oberen linken Ecke befindet, unterhalb der Escape-Taste, neben der Taste 1. Er stellt klar, dass es sich hierbei um ein anderes Zeichen als das Ausrufezeichen (!) handelt, das oft als "Knallzeichen" bezeichnet wird Die Tilde führt eine bitweise Negation durch, während das Ausrufezeichen für eine logische Negation verwendet wird.
Tim erklärt, dass der NOT-Operator alle Bits in der binären Darstellung der Zahl umkehrt. Das bedeutet:
Die Anwendung von ~ auf eine Zahl ergibt ihr bitweises Komplement. Er kopiert die Konsolenausgabe, um das Ergebnis zu beobachten.
Tim führt das Programm aus und stellt fest, dass das Ergebnis viel länger als erwartet ausfällt. Wenn z. B. value = 1, ist die Ausgabe nicht nur 0, sondern eine längere Folge von Einsen, gefolgt von den umgedrehten Bits. Er stellt fest, dass das Ergebnis für ~1 lautet:
// Observed output for ~1
11111111111111111111111111111110' Observed output for ~1
11111111111111111111111111111110Warum ist das so?
Tim erklärt, dass dieses Verhalten auftritt, weil C# eine 32-Bit-Ganzzahl mit Vorzeichen (int) verwendet. Da int in C# eigentlich Int32 ist, besteht es aus 32 Bits. Bei der NOT-Operation werden alle 32 Bits umgedreht, nicht nur die Ein-Bit-Darstellung von 1.
Um dies zu verdeutlichen, passt er die Ausgabeformatierung so an, dass 32 Bit explizit angezeigt werden:
// Convert the result of the NOT operation to a binary string representation,
// pad it to 32 bits, and print it.
Console.WriteLine(Convert.ToString(notValue, 2).PadLeft(32, '0'));' Convert the result of the NOT operation to a binary string representation,
' pad it to 32 bits, and print it.
Console.WriteLine(Convert.ToString(notValue, 2).PadLeft(32, "0"c))Hier wird die vollständige Binärdarstellung angezeigt, so dass es einfacher ist zu sehen, wie alle Bits umgedreht werden.
An dieser Stelle geht Tim auf die Frage ein: Warum ist der NOT-Operator überhaupt nützlich? Er weist darauf hin, dass der Wert dieses Tools deutlicher wird, wenn man mit anderen bitweisen Operationen arbeitet, wie z. B.:
Tim betont, dass es wichtig ist, grundlegende Konzepte wie NOT zu verstehen, bevor man zu komplexeren Binäroperationen übergeht. Er versichert den Zuschauern, dass sie, sobald sie die binären Operationen verstanden haben, sehen werden, wie leistungsstark und effizient diese Operationen sein können. Binäre Manipulation ermöglicht es Entwicklern,:
Tim schließt mit einem Hinweis auf die nächste Lektion, die sich auf das Löschen bestimmter Bits unter Verwendung des NOT-Operators und anderer bitweiser Techniken konzentrieren wird. Er betont, dass die Beherrschung dieser Grundlagen für die effektive Arbeit mit Binärdateien in C# unerlässlich ist.
Tim Corey bietet eine klare und praktische Erklärung des Binary NOT-Operators in C#. Indem alle Bits einer Zahl umgedreht werden, ist ~ ein grundlegendes Werkzeug für die Arbeit auf Bitebene. Das Verständnis dieses Operators bildet die Grundlage für fortgeschrittenere Binäroperationen wie Bitmaskierung und Bitverschiebung. Wenn Sie in die Low-Level-Programmierung eintauchen oder die Leistung optimieren wollen, müssen Sie dieses Konzept unbedingt beherrschen.
Weitere Informationen finden Sie in Tim Coreys vollständigem Video und in seiner Serie über Binärdateien in C#!
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy