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 연산이 수행됩니다. 따라서 arr2가 true인 인덱스 1만 최종 결과에서 true가 되고, 나머지는 false로 유지됩니다.