示例
byte b = 127;
(initial to be = 11111111)
现在我只关心位1和0
我怎么做位移位得到00000011
我想这叫做"掩蔽位",如果我是对的吗?
我试过了b & lt; & lt;5然后b>> 5将其他位归零但是这是错误的
我的目标
switch ((myByte >> 3) & 3)
{
case 3:
resevered = true;
break;
case 2:
open = true;
break;
case 1:
SingleOnly = true;
break;
case 0:
daulMode = true;
break;
}
b & 0x03
将给你一个包含前两位的字节,其余的位为零。
之所以有效是因为0x03是二进制的00000011
,而
11111111
和
00000011
将前六位置零,只留下剩下的两位。