int setBits(int original, int valueToSet, int startBit, int endBit) { // 创建一个掩码,用来清除指定范围内的位 int mask = ((1 << (endBit - startBit + 1)) - 1) << startBit; // 清除原始数中指定范围内的位 original &= ~mask; // 将新值移动到指定的位置 int newValue = (valueToSet & ((1 << (endBit - startBit + 1)) - 1)) << startBit; // 将新值合并到原始数中 original |= newValue; return original; }