Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# BitArray에서 특정 위치의 비트 값 가져오는 방법 (Get 메서드 예제)

BitArraySystem.Collections 네임스페이스에 속한 컬렉션 클래스로, 불리언(Boolean) 값을 비트 단위로 저장하고 관리하는 데 사용됩니다. 특정 위치의 비트 값을 가져오려면 Get() 메서드를 호출하거나 인덱서를 활용하면 됩니다.

예제 1: Get() 메서드로 비트 값 조회하기

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("BitArray1 length = " + arr1.Length);
      Console.WriteLine("BitArray1 first element = " + arr1.Get(0));

      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("\nBitArray2 length = " + arr2.Length);
      Console.WriteLine("Elements in BitArray2...");
      foreach (bool res in arr2) {
         Console.WriteLine(res);
      }
      Console.WriteLine("\nIs BitArray1 equal to BitArray2? = " + arr2.Equals(arr1));
   }
}

실행 결과

BitArray1 length = 2
BitArray1 first element = False

BitArray2 length = 2
Elements in BitArray2...
False
True
Is BitArray1 equal to BitArray2? = False

위 예제에서 arr1.Get(0)은 첫 번째 위치의 비트 값인 False를 반환합니다. 또한 Equals() 메서드를 사용하면 두 BitArray 객체가 서로 같은지 비교할 수 있으며, 이 경우 두 배열은 별개의 인스턴스이므로 결과가 False로 출력됩니다.

예제 2: 여러 위치의 비트 값 확인하기

using System;
using System.Collections;

public class Demo {
   public static void Main() {
      BitArray arr = new BitArray(5);
      arr[0] = false;
      arr[1] = true;
      arr[2] = false;
      arr[3] = true;

      Console.WriteLine("BitArray length = " + arr.Length);
      Console.WriteLine("BitArray first element = " + arr.Get(0));
      Console.WriteLine("BitArray second element = " + arr.Get(1));
   }
}

실행 결과

BitArray length = 5
BitArray first element = False
BitArray second element = True

핵심 정리

  • Get(int index): 지정한 인덱스 위치의 비트 값을 bool 타입으로 반환합니다.
  • 인덱서(arr[index])를 통해서도 동일하게 값을 읽거나 설정할 수 있습니다.
  • Length 속성으로 BitArray에 포함된 비트의 총 개수를 확인할 수 있습니다.
  • 인덱스는 0부터 시작하며, 유효 범위를 벗어나면 ArgumentOutOfRangeException이 발생하므로 주의해야 합니다.