Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
簡単なビットマスク操作をしたい。まあ言ってみれば
uint64_t a = 348659235483;
この数値を2進数に変換すると仮定して、6ビット目から12ビット目までの値を抽出したい(0は右端のMSB)。そのための最小のコードは何ですか?
バイナリは
10100010010110110110101101/110101/0011011
だから私は保存したい110101です53
110101
53
どうですか
uint64_t a = 348659235483; uint64_t result = (a & 0x0fe0) >> 6;