c - 在 C 中设置最后 n 位

标签 c bit-manipulation

我不想将任何给定数字的最后 n 位设置为 1。我有一个数字(其长度是可变的)和一个变量 n。

例子:

12 (dec) set last 2 bits
Output: 15

现在基本操作应该是这样的:

return 0b11 | 12;

但是我怎样才能使 0b11 的长度可变呢?

谢谢!

最佳答案

试试这个:

int SetLastBits(int value,int numOfBits)
{
    return value | ((1<<numOfBits)-1);
}

关于c - 在 C 中设置最后 n 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27820149/

相关文章:

c - 函数指针查询

bash - Bash 中的位掩码

bit-manipulation - 如何使用按位运算符屏蔽整数

c++ - C++ 中的快速按位问题

C++ 按位运算

c - C语言如何从文本文件中读取数据

c - 求数组 C 中数字的总和

c++ - volatile关键字有什么用?

c++ - 如何检测无符号整数溢出?

javascript - 在 JavaScript 中快速接近 2 的幂?