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

C# BitArray 요소 간 비트 OR 연산 구현하기

C#에서 BitArray 클래스의 요소들 간에 비트 OR(Bitwise OR) 연산을 수행하는 방법을 알아보겠습니다.

BitArray 클래스가 제공하는 Or() 메서드는 현재 BitArray의 각 요소와 지정된 다른 BitArray의 대응 요소를 비교하여 논리합(OR) 연산을 수행합니다. 두 값 중 하나라도 true이면 결과는 true가 되며, 이때 두 BitArray의 길이는 반드시 동일해야 합니다.

예제 코드

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 OR operation...");
        IEnumerable demoEnum = arr1.Or(arr2);
        foreach(Object ob in demoEnum) {
            Console.WriteLine(ob);
        }
    }
}

실행 결과

위 코드를 실행하면 다음과 같은 출력이 나타납니다.

BitArray1 elements...
False
False
False
False
False
BitArray2 elements...
False
True
False
False
False
Bitwise OR operation...
False
True
False
False
False

코드 설명


- 길이가 5인 BitArray 두 개(arr1, arr2)를 생성합니다.
- arr1은 기본값으로 모든 요소가 false로 초기화되고, arr2는 인덱스 1의 요소만 true로 설정됩니다.
- foreach 루프를 통해 각 BitArray의 요소들을 순회하며 출력합니다.
- arr1.Or(arr2)를 호출하면 두 배열의 같은 인덱스 위치끼리 OR 연산이 수행됩니다. 따라서 arr2true인 인덱스 1만 최종 결과에서 true가 되고, 나머지는 false로 유지됩니다.