Heim  >  Artikel  >  Backend-Entwicklung  >  Negieren Sie alle Bitwerte in BitArray in C#

Negieren Sie alle Bitwerte in BitArray in C#

PHPz
PHPznach vorne
2023-08-24 14:05:02739Durchsuche

Negieren Sie alle Bitwerte in BitArray in C#

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.

Alle Bitwerte in einem Bitarray umkehren

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 von

Beispiel 1

lautet:

Beispiel 1

Das folgende Beispiel zeigt, wie alle Bitwerte in einem BitArray in C# invertiert werden

Algorithmus

  • 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();
   }
}

Ausgabe

Wenn Sie die obige Codeausgabe ausführen, entspricht diese Ausgabe dem invertierten Bitwert des ursprünglichen BitArray (1010).

0101
Die chinesische Übersetzung von

Beispiel 2

lautet:

Beispiel 2

Das folgende Beispiel zeigt das Umkehren aller Bitwerte in einem BitArray in C#

Algorithmus

  • 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();
   }
}

Ausgabe

Before inversion:
01010101
After inversion:
10101010

Fazit

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen