1 & 1 = 1
0 & 1 = 0
0 & 0 = 0
按位与就是那一位全部是 1 的时候是为 1
- x 表示为 x 的补码 +1
例如 x = 8时 :
x 0 0 0 1 1 0 0 0
- x 1 1 1 0 1 0 0 0
整数运算 x&(-x):
当 x 为 0 时结果为 0
x 为奇数时,结果为 1
x 为偶数时,结果为 x 中 2 的最大次方的因子
x &( x - 1 ):
去掉x最低位的 1
以x为根的满二叉搜索树的最小节点编号、最大节点编号

#include <stdio.h>
int lowbit(int x){
return x&(-x);
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int x;
scanf("%d",&x);
printf("%d %d\n",x-lowbit(x)+1,x+lowbit(x)-1);
}
return 0;
}

本文介绍了计算机科学中的基本位运算概念及其应用场景,包括按位与运算的特性、如何通过位运算快速获取整数的特定信息,如求取整数中最低位的1对应的数值等。此外还提供了一个C语言示例程序,演示了如何使用按位与运算来确定满二叉搜索树中以给定节点为根的子树内的节点范围。
&spm=1001.2101.3001.5002&articleId=52079925&d=1&t=3&u=397f528484c842c79de89f404e7794c0)
1052

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



