统计一个整数的二进制中1的个数
Posted sykline
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计一个整数的二进制中1的个数相关的知识,希望对你有一定的参考价值。
方法一:
比较暴力的方法(通过将二进制右移获得):
int _Count(int x) int cnt = 0; while(x) cnt += x&1; x >>= 1; return cnt;
方法二:
通过这个数与比他小1的数相与得到:(很神奇的一个方法,手动写几个例子就可以看出来了,不过要自己想的话,还是比较费力的)
int _Count(int x) int cnt = 0; while(x) x &= (x-1); cnt++; return cnt;
以上是关于统计一个整数的二进制中1的个数的主要内容,如果未能解决你的问题,请参考以下文章