我有这个字节:10111011
我希望分成2个半字节(msb和lsb)。
之后我想从lsb取最后2位(所以我想要{{ 1}}来自11
)
我知道:
使用1011
我得到msb(1001)
使用10011011 >> 4
我得到lsb(1011)
现在我该如何从lsb 10011011 & 0xf
获取11
?
答案 0 :(得分:3)
同样:bits = lsb & 0x03
答案 1 :(得分:0)
前两位的位掩码是3,所以只需使用:
int val = x & 3;
由于这些位已经处于正确位置,因此您不需要一些移位运算符。
对于上述值,它将是。
val = (x >> 4) & 3;
答案 2 :(得分:0)
你会这样做:
foo & 0x03
foo
是您想要屏蔽的位模式。