、、が からまでのビットを表す符号なし整数N = abcd
があります。次の数字を取得したいa
b
c
d
msb
lsb
x1 = ab0cd
x2 = ab1cd
Cでビット単位の操作を使用してそれを行う最速の方法は何ですか?
私が今しようとしているのは次のとおりです
unsigned int blockid1 = N>>offset;
unsigned int key1 = (blockid<<(1+offset))|(((1<<offset)-1)&N);
unsigned int key2 = (key1)|(1<<offset);
0
ここでオフセットは、挿入したい場所です1
。