我想要获得32位整数的最后10位,
基本上我所做的就是取一个数字并将其塞进前22位,我可以很好地提取出这个数字
int test = Convert.ToInt32(uIActivityId >> nMethodBits); //method bits == 10 so this just pushes the last ten bits off the range
Run Code Online (Sandbox Code Playgroud)
测试结果是我放在第一位的数字.
但是现在我很难过.所以我对你们的问题是.如何获得32位整数的最后十位?
首先创建一个掩码,对于那些你想要的位有一个1位,对你不感兴趣的那个有一个0位.然后使用二进制&只保留相关的位.
const uint mask = (1 << 10) - 1; // 0x3FF
uint last10 = input & mask;
Run Code Online (Sandbox Code Playgroud)