伶俐日记本

文章
4
资源
1
加入时间
3年0月28天

前n个数字二进制中1的个数

题目:给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。首先需要知道怎么判断一个数字二进制中1的个数.利用性质n&(n-1)可以将n的最低位的1置0经过多少次该运算可以把n置0,就表示n中有多少个1 int numberOfOne(int n)//寻找每个数的二进制表示中1的个数 { int ans=0; while(n) { n&=(n-1); //利用性质n&am