-1

簡単なビットマスク操作をしたい。まあ言ってみれば

uint64_t a = 348659235483;

この数値を2進数に変換すると仮定して、6ビット目から12ビット目までの値を抽出したい(0は右端のMSB)。そのための最小のコードは何ですか?

バイナリは

10100010010110110110101101/110101/0011011

だから私は保存したい110101です53

4

1 に答える 1

4

どうですか

uint64_t a = 348659235483;
uint64_t result = (a & 0x0fe0) >> 6;
于 2012-11-19T09:38:14.667 に答える