#include <iostream>
int main()
{
unsigned int N = 1024;
unsigned int M = 21;
unsigned int i = 2, j = 6;
unsigned int temp = ~0;
unsigned int left = temp >> (32 - i);
std::cout << "left: " << left << std::endl;
unsigned int right = temp << (j + 1);
std::cout << "right: " << right << std::endl;
unsigned int res = (N & (left | right)) | (M << i);
std::cout << "result: " << res << std::endl;
return 0;
}
将M插入N的二进制i位到j位之间
本文介绍了一个使用C++实现的位操作示例,包括位移、按位与等操作,并展示了如何将不同部分的位组合起来形成最终结果。通过具体代码解释了左移和右移的概念及其应用。

被折叠的 条评论
为什么被折叠?



