私はこのバイトを持っています:10111011
そして私は2つのニブル(msbとlsb)に分割したいです。
その後、lsb から最後の 2 ビットを取得したい (だから から取得したい11
) 1011
。
私はそれを知っています:私は msb (1001)
を取得します 私は lsb (1011)
を取得しますlsbから取得するにはどうすればよいですか?10011011 >> 4
10011011 & 0xf
11
1011
質問する
420 次
3 に答える
3
全く同じで:bits = lsb & 0x03
于 2013-07-04T10:25:33.557 に答える
0
あなたがするだろう:
foo & 0x03
foo
マスクしたいビットパターンはどこにありますか。
于 2013-07-04T10:32:26.537 に答える
0
最初の 2 ビットのビットマスクは 3 なので、単純に次のように使用します。
int val = x & 3;
ビットはすでに適切な位置にあるため、シフト演算子は必要ありません。
上記の値の場合はそうです。
val = (x >> 4) & 3;
于 2013-07-04T10:26:29.393 に答える