2012-11-19 83 views
-1

我想做一個簡單的位掩碼操作。比方說應用位掩碼的位向量

uint64_t a = 348659235483; 

假設這個數字轉換爲二進制,我想從位6的值提取到12(0爲MSB的右端)。那最小的代碼是什麼?

二進制是

10100010010110110110101101/110101/0011011 

所以我要救110101這是53

+0

這取決於你想與他們做什麼。 – Mysticial

+0

我想將位置6的數字保存到12 – mahmood

回答

4

如何

uint64_t a = 348659235483; 
uint64_t result = (a & 0x0fe0) >> 6; 
+0

是的,謝謝。 – mahmood

+0

右移位在哪裏? –