将第二个索引后的所有位归零

Zero all the bits after the 2nd index

我想将无符号整数中第二个索引(包括第二个)之后的所有位清零。这是我到目前为止编写的非工作代码:(temp 是一个无符号整数。)

for(int i=2; i< DSLength(dnaS); i++)
        {
            temp = temp & (0 << i);
        }

它不断将整数归零...

如果我理解你是对的,并且你想保留最低两位并将其余所有位清零,则不需要循环:

x &= 3

x 完全相同。