Maison > développement back-end > Tutoriel C#.Net > Annuler toutes les valeurs de bits dans BitArray en C#

Annuler toutes les valeurs de bits dans BitArray en C#

PHPz
Libérer: 2023-08-24 14:05:02
avant
806 Les gens l'ont consulté

Annuler toutes les valeurs de bits dans BitArray en C#

Un BitArray est une collection de valeurs booléennes représentées par une série de 1 et de 0. Elle est souvent utilisée pour stocker et manipuler efficacement des données binaires. En C#, la classe BitArray fait partie des collections système. espace de noms, et il vous permet de manipuler les bits individuels du tableau à l'aide d'opérateurs au niveau du bit.

Inversez toutes les valeurs de bits dans un tableau de bits

En C#, pour inverser toutes les valeurs de bits dans un BitArray, vous pouvez utiliser l'opérateur OU exclusif (XOR) (^) avec le chiffre 1. Cet opérateur renvoie une valeur de 1 si les bits comparés sont différents et une valeur de 0 s'ils sont identiques. En appliquant cet opérateur à chaque bit d'un BitArray, toutes les valeurs de bits peuvent être inversées.

La traduction chinoise de

Exemple 1

est :

Exemple 1

L'exemple suivant montre comment inverser toutes les valeurs de bits dans un BitArray en C#

Algorithme

  • Étape 1 - Créez un nouveau BitArray pour stocker la valeur inversée.

  • Étape 2 - Parcourez chaque bit du BitArray d'origine.

  • Étape 3 - Utilisez l'opérateur de négation au niveau du bit (~) pour inverser la valeur de chaque bit.

  • Étape 4 - Stockez la valeur inversée dans un nouveau BitArray.

  • Étape 5 - Renvoyez le nouveau BitArray.

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();
   }
}
Copier après la connexion

Sortie

Lorsque vous exécutez la sortie de code ci-dessus, cette sortie correspond à la valeur binaire inversée du BitArray d'origine (1010).

0101
Copier après la connexion
La traduction chinoise de

Exemple 2

est :

Exemple 2

L'exemple ci-dessous montre l'inversion de toutes les valeurs de bits dans un BitArray en C#

Algorithme

  • Étape 1 − Créez un objet BitArray avec la taille souhaitée.

  • Étape 2 - Parcourez chaque index du BitArray.

  • Étape 3 - Utilisez la méthode BitArray.Set pour inverser la valeur à l'index actuel. Les paramètres sont l'index et la valeur inverse de l'index actuel.

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();
   }
}
Copier après la connexion

Sortie

Before inversion:
01010101
After inversion:
10101010
Copier après la connexion

Conclusion

En C#, nier toutes les valeurs de bits dans un BitArray est une tâche simple et peut être effectuée à l'aide de l'opérateur XOR avec la valeur 1. Cette technique est très utile lorsque vous travaillez avec des données binaires et vous aide à manipuler efficacement les bits individuels d'un tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal