0

簡単な質問:

バイトのどのビットが0に設定され、どのビットが1に設定されているかを確認するにはどうすればよいですか。

例えば:

//That code would obviously wont work, but how do i make something similar that would work?
byte myByte = 0X32;

foreach(bool bit in myByte)
{
  Console.WriteLine(bit);
}


//Part 2 revert
bool[] bits = new bool[8];
bits[0] = 0
bits[1] = 0
bits[2] = 0
bits[3] = 0
bits[4] = 0
bits[5] = 1
bits[6] = 0
bits[7] = 0

byte newByte = (byte)bits;

エンティエインターネットは例でいっぱいですが、私は理解できません

4

3 に答える 3

5

ビット演算を使用したい

k = bits = 0;
for (i = 1; i < 256; i <<= 1)
  bool[k++] = (bits & i) != 0;


k = bits = 0;
for (i = 1; i < 256; i <<= 1)
  if (bool[k++]) bits |= i;
于 2009-02-24T07:24:01.143 に答える
1

BitArrayクラスは可能な限り最も単純な(必ずしも最速ではありませんが)方法になります。

于 2009-02-24T07:23:25.107 に答える
0

あなたはそれらをANDすることができます。1ビットが両方の数値に設定されている場合、それは設定されたままになります。そのサンプルが何を求めているのか正確にはわかりませんが、1を少しANDすると、true(1)またはfalse(0)になります。

0010&1010 = 0010

于 2009-02-24T07:22:10.553 に答える