Ein BitArray ist eine Sammlung boolescher Werte, die als Reihe von Einsen und Nullen dargestellt werden. In C# ist die Klasse BitArray Teil der Systemsammlungen Namespace, und es ermöglicht Ihnen, die einzelnen Bits im Array mithilfe bitweiser Operatoren zu manipulieren.
In C# können Sie zum Umkehren aller Bitwerte in einem BitArray den Exklusiv-ODER-Operator (XOR) (^) mit der Zahl 1 verwenden. Dieser Operator gibt den Wert 1 zurück, wenn die verglichenen Bits unterschiedlich sind, und den Wert 0, wenn sie gleich sind. Durch Anwenden dieses Operators auf jedes Bit in einem BitArray können alle Bitwerte umgekehrt werden.
Die chinesische Übersetzung vonDas folgende Beispiel zeigt, wie alle Bitwerte in einem BitArray in C# invertiert werden
Schritt 1 – Erstellen Sie ein neues BitArray, um den invertierten Wert zu speichern.
Schritt 2 – Durchlaufen Sie jedes Bit im ursprünglichen BitArray.
Schritt 3 - Verwenden Sie den bitweisen Negationsoperator (~), um den Wert jedes Bits zu invertieren.
Schritt 4 – Speichern Sie den invertierten Wert in einem neuen BitArray.
Schritt 5 – Geben Sie das neue BitArray zurück.
using System; using System.Collections; class Program{ static void Main(string[] args){ // Create a new BitArray with some initial values BitArray bits = new BitArray(new[] { true, false, true, false }); // Invert all the bit values using XOR with 1 for (int i = 0; i < bits.Length; i++){ bits[i] ^= true; } // Print the inverted bit values for (int i = 0; i < bits.Length; i++){ Console.Write(bits[i] ? "1" : "0"); } Console.ReadLine(); } }
Wenn Sie die obige Codeausgabe ausführen, entspricht diese Ausgabe dem invertierten Bitwert des ursprünglichen BitArray (1010).
0101
Das folgende Beispiel zeigt das Umkehren aller Bitwerte in einem BitArray in C#
Schritt 1 − Erstellen Sie ein BitArray-Objekt mit der gewünschten Größe.
Schritt 2 – Durchlaufen Sie jeden Index im BitArray.
Schritt 3 – Verwenden Sie die BitArray.Set-Methode, um den Wert am aktuellen Index zu invertieren. Die Parameter sind der Index und der Umkehrwert des aktuellen Index.
using System; using System.Collections; class Program { static void Main(string[] args) { int size = 8; BitArray bits = new BitArray(size); for (int i = 0; i < size; i++) { bits[i] = (i % 2 == 0); } Console.WriteLine("Before inversion:"); PrintBits(bits); InvertBits(bits); Console.WriteLine("After inversion:"); PrintBits(bits); } static void InvertBits(BitArray bits) { for (int i = 0; i < bits.Count; i++) { bits.Set(i, !bits[i]); } } static void PrintBits(BitArray bits) { for (int i = 0; i < bits.Count; i++) { Console.Write(bits[i] ? "1" : "0"); } Console.WriteLine(); } }
Before inversion: 01010101 After inversion: 10101010
In C# ist das Negieren aller Bitwerte in einem BitArray eine einfache Aufgabe und kann mithilfe des XOR-Operators mit dem Wert 1 durchgeführt werden. Diese Technik ist beim Arbeiten mit Binärdaten sehr nützlich und hilft Ihnen, einzelne Bits in einem Array effizient zu manipulieren.
Das obige ist der detaillierte Inhalt vonNegieren Sie alle Bitwerte in BitArray in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!