2011-01-21 4 views

답변

7

BitArray 클래스를 살펴보십시오.

byte[] myBytes = new byte[5] { 1, 2, 3, 4, 5 }; 
BitArray myBA3 = new BitArray(myBytes); 

Console.WriteLine("myBA3"); 
Console.WriteLine(" Count: {0}", myBA3.Count); 
Console.WriteLine(" Length: {0}", myBA3.Length); 
Console.WriteLine(" Values:"); 
PrintValues(myBA3, 8); 

public static void PrintValues(IEnumerable myList, int myWidth) 
{ 
    int i = myWidth; 
    foreach (Object obj in myList) 
    { 
     if (i <= 0) 
     { 
     i = myWidth; 
     Console.WriteLine(); 
     } 
     i--; 
     Console.Write("{0,8}", obj); 
    } 
    Console.WriteLine(); 
} 

이 코드는 다음과 같은 출력을 생성

여기 바이트 배열을 사용하는 경우에 무슨 일이 일어나고 있는지를 설명하는 예이다.

myBA3 
    Count: 40 
    Length: 40 
    Values: 
    Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 
    True False False False False False False False 
    Bit8 Bit9 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 ... and so on 
    False True False False False False False False 
    True True False False False False False False 
    False False True False False False False False 
    True False True False False False False False 
+0

참으로, 나는 그것을 사용하여 시도했지만 그것은 엔디안 또는 뭔가 ... – Anon

+0

@Anon 반전 것처럼 그것은, 일부 펑키 물건 내부 돔에 보인다 - 당신은 BitArray 클래스를 사용하여 문제를 또 다른 질문을 게시 할 수 있습니다 현재 테스트 및 예기치 않은 결과가 포함됩니다. – SwDevMan81

+0

@Anon :''BitArray'는 내부적으로'int []'배열을 사용한다고 생각합니다. 그러나 어떻게 사용하는지 엔 당신이 어떻게 알 수 있을지, 신경 쓰는지 모르겠습니다. 확실하게 의미 론적 관점에서 보았을 때 그것은 단지'bool'의 배열 일뿐입니다. – LukeH