본문 바로가기
C#

[C#] BitArray

by DANEW 2023. 9. 14.

BitArray 클래스

 

BitArray 클래스 (System.Collections)

부울로 나타나는 간단한 비트 값 배열을 관리합니다. 여기에서 true는 비트가 설정(1)되었음을 나타내고 false는 비트가 해제(0)되었음을 나타냅니다.

learn.microsoft.com

- bool 값을 빽빽하게 저장하는 컬렉션

- 컬렉션 크기의 동적 변경을 지원

- bool 값 하나당 1바이트가 아닌 1비트만을 사용하므로 저장 공간을 효율적으로 이용함

반응형
namespace System.Collections
{
    public sealed class BitArray : ICollection, IEnumerable, ICloneable
    {
        // 생성자
        public BitArray(int length);    // 비트의 수 설정, 초기값 false
        public BitArray(byte[] bytes);  // 각 바이트를 8개의 연속 비트로 인식
        public BitArray(bool[] values); // bool 배열을 BitArray로
        public BitArray(int[] values);  // 각 int를 32개의 연속 비트로 인식
        public BitArray(BitArray bits); // 다른 BitArray부터
        public BitArray(int length, bool defaultValue); // 비트의 수 설정, 초기값 설정 가능
 
        // 컬랙션 정보
        public int Count { get; }
        public int Length { get; set; }
 
        // 각 비트에 접근
        public bool this[int index] { get; set; }
        public bool Get(int index);
        public void Set(int index, bool value);
        public void SetAll(bool value);
 
        // 동기화 관련
        public object SyncRoot { get; }
        public bool IsSynchronized { get; }
 
        // 읽기 전용 여부
        public bool IsReadOnly { get; }
 
        // 복사
        public void CopyTo(Array array, int index);
        public object Clone();
 
        // 열거
        public IEnumerator GetEnumerator();
 
        // 비트별 연산
        public BitArray And(BitArray value);    
        public BitArray Not();
        public BitArray Or(BitArray value);        
        public BitArray Xor(BitArray value);
    }
}

 

반응형