编写一个以整数作为输入的函数,并返回该数字的二进制表示中等于1的位数。您可以保证输入是非负的。
示例:1234
的二进制表示10011010010
,因此5
在这种情况下函数应该返回
我的方法:
using System;
public class Kata
{
public static int CountBits(int n)
{
string number=Convert.ToString(n,2);
int count = 0;
for (int i = 0; i < number.Length; i++)
{
if (number[i]=='1')
{
count = count + 1;
Debug.Log(count);
}
}
return count;
}
}
codewars的最高评分方法:
using System;
using System.Linq;
public class Kata
{
public static int CountBits(int n)
{
return Convert.ToString(n, 2).Count(x => x == '1');
}
}