计算数字二进制有多少个1——lowbit

lowbit

在计算数字二进制表示中有多少个1的时候,可以使用lowbit来表示。每次找到数的最后一个1的大小。

x&(-x)

具体代码为

	int num1count(int x) {
		int m = 0;
		for (; x; x -= x & (-x)) {
			m++;
		}
		return m;
	}

核心在于

for(;x;x-=x&(-x)){

	m++;

}

posted @ 2022-09-06 16:58  风早&爽子  阅读(36)  评论(0)    收藏  举报