次のような古いコードがあります。
private int ParseByte(byte theByte)
{
byte[] bytes = new byte[1];
bytes[0] = theByte;
BitArray bits = new BitArray(bytes);
if (bits[0])
return 1;
else
return 0;
}
長いので、次のように切り詰めることができると考えました。
private int ParseByte(byte theByte)
{
return theByte >> 7;
}
しかし、最初の関数と同じ値が得られません。このバイトには 00000000 または 10000000 が含まれています。間違った演算子を使用していませんか?