若干正整数的按位与(bitwise AND)运算结果可能为负数吗?
结论
不存在任何符合要求的子数组,1~N范围内的正整数组成的任意子数组,按位与运算结果都不可能为负数。
推导依据
- 有符号整数的二进制最高位为符号位:符号位为
0代表正数,为1代表负数 - 按位与运算的规则是:对于任意一个二进制位,只有参与运算的所有数在该位的值都为
1时,最终结果的对应位才为1,只要有一个数的该位为0,结果对应位就为0 - 你给出的序列所有元素都是正整数,因此所有数的符号位固定为
0,无论选择哪个子数组做按位与运算,最终结果的符号位必然是0,也就是结果一定是非负整数
示例补充说明
你提到的N=7时,子数组[4,5,6,7]的按位与结果为4,本身就是非负整数,也符合上述推导结论。
内容的提问来源于stack exchange,提问作者Kirti Purohit
相关产品推荐
相关产品推荐

