位运算

1.求二进制中第k位数

这里的第k位指的是从低位开始

n>>k&1

2.返回二进制的最后一位1

代码:

int lowbit(int x) //返回x的最后一位1
{
	return x & -x;
}

原理:

补码 = 反码 + 1

计算机存储中x的补码为相反数-x

注意

// 位运算中负数右移在前头补1,与正数右移在前头补0不一样

posted @ 2023-01-23 20:11  咕噜噜冒泡  阅读(17)  评论(0)    收藏  举报