在这里,我想生成一个位模式来设置n
数字等于1
从 position 开始p
。数字从 开始编号0 to 31
。以下是我所做的。
int bitPattern(int n, int p) {
int hex, num1, num2;
hex = 0x80000000;
num1 = (hex >> (31 - p));
num2 = (hex >> (31 - (n+p)));
return num1 ^ num2;
}
例子:
bitPattern(6, 2) should return
..000011111100
有更少运营商的替代解决方案吗?