怎么获取一个数字中的1的个数

    xiaoxiao2021-12-14  21

    最近在网上看到一个获取数字中1的个数的算法,感觉很有用,就记录下来:

    /* 基本思路: 从低位往高位计数,利用逻辑与&特征,相同为0,不同为1, 将 i 与 i - 1进行 & 运算,这样每次可以计算一个低位,同时有往高位递归 */ int get_number_1_count(int i) { int count = 0; while(i) { //i 不为0,说明有1,计数++ ++count; //重置低位为0, 得到高位 i = i & (i - 1); } return count; }

    转载请注明原文地址: https://ju.6miu.com/read-968810.html

    最新回复(0)