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

C# BitArray 컬렉션 완벽 가이드: 비트 단위 연산과 주요 메서드 총정리

C# BitArray 클래스란?

C#의 BitArray 클래스는 비트(bit) 값들을 효율적으로 관리하기 위한 컴팩트한 배열 구조를 제공합니다. 각 비트는 불리언(Boolean) 값으로 표현되며, true는 해당 비트가 켜져 있음(1)을, false는 꺼져 있음(0)을 의미합니다.

BitArray는 메모리 사용량이 적어 대량의 이진 데이터를 다룰 때 특히 유용하며, 비트 단위 논리 연산(AND, OR, XOR, NOT)을 손쉽게 수행할 수 있는 다양한 메서드를 제공합니다.

BitArray의 주요 메서드

인덱스 기반으로 동작하는 BitArray 컬렉션에서 자주 사용되는 핵심 메서드는 다음과 같습니다.

번호메서드 및 설명
1public BitArray And(BitArray value);
현재 BitArray의 요소와 지정된 BitArray의 대응 요소들에 대해 비트 단위 AND 연산을 수행합니다.
2public bool Get(int index);
BitArray 내 특정 위치(index)에 있는 비트 값을 가져옵니다.
3public BitArray Not();
현재 BitArray의 모든 비트 값을 반전시킵니다. 즉, true로 설정된 요소는 false로, false로 설정된 요소는 true로 변경됩니다.
4public BitArray Or(BitArray value);
현재 BitArray의 요소와 지정된 BitArray의 대응 요소들에 대해 비트 단위 OR 연산을 수행합니다.
5public void Set(int index, bool value);
BitArray 내 특정 위치의 비트를 지정된 값으로 설정합니다.
6public void SetAll(bool value);
BitArray의 모든 비트를 지정된 값으로 한 번에 설정합니다.
7public BitArray Xor(BitArray value);
현재 BitArray의 요소와 지정된 BitArray의 대응 요소들에 대해 배타적 논리합(XOR) 연산을 수행합니다.

BitArray 사용 예제

다음은 BitArray 객체를 생성하고 요소 개수를 확인하는 간단한 예제입니다.

using System;
using System.Collections;

public class Demo {

    public static void Main() {

        BitArray arr = new BitArray(10);

        Console.WriteLine("Count: {0}", arr.Count);
    }
}

이 코드는 크기가 10인 BitArray를 생성한 후, Count 속성을 통해 배열에 포함된 비트의 총 개수를 콘솔에 출력합니다. 실행 결과로 Count: 10이 출력됩니다.

마무리

BitArray는 플래그 관리, 필터링, 압축 알고리즘 등 비트 수준의 조작이 필요한 상황에서 매우 유용한 컬렉션입니다. 위에서 소개한 메서드들을 활용하면 복잡한 비트 연산도 간결하고 직관적인 코드로 구현할 수 있습니다.