二进制中1的个数

xiaoxiao2021-02-28  21

题目:实现一个函数,输入一个整数,输出该数二进制表示中1的个数,例如把9表示成二进制1001,有2位是1,。因此如果输入9,该函数的输出为2

规律:把一个整数减去1之后和原来的整数做位与运算,得到的结果相当于是把整数的二进制表示中的最右边的一个1变成0.

int numberof1(int n) { int count=0; while(n) { count++; n=n & (n-1); } return count; }

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

最新回复(0)