hai*_*yyu 13 c# enumeration bitarray
这段代码:
BitArray bits = new BitArray(new byte[] { 7 });
foreach (bool bit in bits)
{
Console.WriteLine(bit ? 1 : 0);
}
Run Code Online (Sandbox Code Playgroud)
给我以下输出:
11100000
Run Code Online (Sandbox Code Playgroud)
不应该是相反的方式吗?像这样:
00000111
Run Code Online (Sandbox Code Playgroud)
我知道有一点点大端,虽然这些术语只涉及字节的位置.据我所知,它们不会影响比特.
Tad*_*mas 11
数组中的第一个字节表示位0到7,第二个字节表示位8到15,依此类推.每个字节的最低有效位表示最低索引值:"bytes [0]&1"表示位0,"bytes [0]&2"表示位1,"bytes [0]&4"表示位2,并且等等.
索引位时,约定是从最低端开始,这是以二进制表示法写入时的右侧.但是,在枚举数组时,从索引0开始,因此它们从左到右而不是从右到左打印.这就是它向后看的原因.
例如,单词01011010 00101101(90 45)将索引为:
0 1 0 1 1 0 1 0 - 0 0 1 0 1 1 0 1
----------------------- -----------------------
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Run Code Online (Sandbox Code Playgroud)
你会把它传递给构造函数,new byte[] { 45, 90 }因为你首先传递它最不重要.打印出来时,它将以索引顺序显示为:1011010001011010,这与原始二进制表示法相反.
| 归档时间: |
|
| 查看次数: |
5753 次 |
| 最近记录: |