Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 BitArray 클래스

<시간/>

BitArray 클래스는 부울로 표시되는 비트 값의 컴팩트 배열을 관리합니다. 여기서 true는 비트가 켜져 있음(1)이고 false는 비트가 꺼져 있음(0)입니다.

다음 표에는 BitArray 클래스에서 일반적으로 사용되는 몇 가지 메서드가 나열되어 있습니다. -

시니어 번호 방법 및 설명
1 공개 BitArray 및(BitArray 값);
지정된 BitArray의 해당 요소에 대해 현재 BitArray의 요소에 대해 비트 AND 연산을 수행합니다.
2 공개 bool Get(int 인덱스);
BitArray의 특정 위치에 있는 비트 값을 가져옵니다.
3 공개 BitArray Not();
현재 BitArray의 모든 비트 값을 반전하여 true로 설정된 요소는 false로, false로 설정된 요소는 true로 변경되도록 합니다.
4 공개 BitArray 또는(BitArray 값);
지정된 BitArray의 해당 요소에 대해 현재 BitArray의 요소에 대해 비트 OR 연산을 수행합니다.
5 공개 무효 세트(int 인덱스, 부울 값);
BitArray의 특정 위치에 있는 비트를 지정된 값으로 설정합니다.
6 공개 무효 SetAll(bool 값);
BitArray의 모든 비트를 지정된 값으로 설정합니다.
7 공개 BitArray Xor(BitArray 값);
지정된 BitArray의 해당 요소에 대해 현재 BitArray의 요소에 대해 비트 배타적 OR 연산을 수행합니다.

예시

이제 예를 살펴보겠습니다 -

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      BitArray arr1 = new BitArray(2);
      BitArray arr2 = new BitArray(2);
      arr1[0] = false;
      arr1[1] = true;
      Console.WriteLine("Elements in BitArray1...");
      foreach (bool res in arr1){
         Console.WriteLine(res);
      }
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("Elements in BitArray2...");
      foreach (bool res in arr2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Is BitArray1 equal to BitArray2? = "+arr2.Equals(arr1));
      Console.WriteLine("Is BitArray synchronized? = "+arr2.IsSynchronized);
      Console.WriteLine("Is BitArray read-only? = "+arr2.IsReadOnly);
   }
}

출력

이것은 다음과 같은 출력을 생성합니다 -

Elements in BitArray1...
False
True
Elements in BitArray2...
False
True
Is BitArray1 equal to BitArray2? = False
Is BitArray synchronized? = False
Is BitArray read-only? = False

예시

BitArray −

의 요소 간에 Bitwise 배타적 OR 연산을 구현하는 또 다른 예를 살펴보겠습니다.
using System;
using System.Collections;
public class Demo {
   public static void Main(){
      BitArray arr1 = new BitArray(5);
      BitArray arr2 = new BitArray(5);
      arr1[0] = false;
      arr1[1] = false;
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("BitArray1 elements...");
      foreach (bool res in arr1){
         Console.WriteLine(res);
      }
      Console.WriteLine("\nBitArray2 elements...");
      foreach (bool res in arr2){
         Console.WriteLine(res);
      }
      Console.WriteLine("\nBitwise exclusive OR operation...");
      IEnumerable demoEnum = arr1.Xor(arr2);
      foreach(Object ob in demoEnum){
         Console.WriteLine(ob);
      }
   }
}

출력

이것은 다음과 같은 출력을 생성합니다 -

BitArray1 elements...
False
False
False
False
False

BitArray2 elements...
False
True
False
False
False

Bitwise exclusive OR operation...
False
True
False
False
False