비트 마스크 및 비트 부울 연산 (XOR/NOR/OR/AND/NOT/EQV/등)을 사용한 연산자 기반 방법을 찾고 있습니다. 일반적으로 나는 과 같은 확장 방법 스타일 접근 방식을 사용하지만,이 경우 조금 혼란 스럽습니다.BitArray 및 XOR
C#에서 비트를 사용하는 더 까다로운 방법이 있습니까? (연산자 과부하 클래스 항 또는 자체 구조체되어야한다) 확장 클래스에 과부하에는 오퍼레이터가 없으므로
BitArray a = new BitArray(0x001);
BitArray b = new BitArray(0x100);
BitArray c = new BitArray(0x010);
BitArray test = a | b; // won't compile
BitArray test2 = a^c; // won't compile
BitArray test3 = a.Or(b); // compiles
BitArray test4 = a.Xor(c); // compiles
int를 조작하지 않는 이유는 무엇입니까? int a = 0x001; int b = 0x100; int test = a | 비; 잘 작동합니다. –
[int'를 사용하는 생성자] (http://msdn.microsoft.com/en-us/library/4ty2t3fx.aspx)는 생각하는대로 동작하지 않습니다. – svick
@RobertRouhani이 특정 예제에서 작동하지만 임의의 비트 수는 어떻게됩니까? 예를 들어, 96 비트 정수에 대해 별도의 구조체를 가져야합니다. – annonymously