所有位都需要从右到左读取才能有意义。
0000,0000 0000,0000 0011,0000 --> 00001100 = 12 0011,0000 0000,0000 0000,0000 1111,1110 --> 01111111 = 127 0000,0111
这就是 BitArray 的工作方式。
http://msdn.microsoft.com/en-us/library/x1xda43a.aspx
The first byte in the array represents bits 0 through 7,
the second byte represents bits 8 through 15, and so on.
The Least Significant Bit of each byte represents the lowest index value:
"bytes [0] & 1" represents bit 0,
"bytes [0] & 2" represents bit 1,
"bytes [0] & 4" represents bit 2,
and so on.
所以数组中第一个字节的最低有效位是位数组中的位 0,数组中第一个字节的第二个最低有效位是位数组中的位 1。
我不知道他们为什么那样做。