CodeWar----求正整数二进制表示中1的个数
Posted 愉快的白萝卜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeWar----求正整数二进制表示中1的个数相关的知识,希望对你有一定的参考价值。
Codewars
Write a function that takes an integer as input, and returns the number of bits that are equal to one in the binary representation of that number. You can guarantee that input is non-negative.
Example: The binary representation of 1234 is 10011010010, so the function should return 5 in this case
编写一个以整数作为输入的函数,并返回该数字的二进制表示中等于1的位数。您可以保证输入是非负的。
示例:1234is 的二进制表示10011010010,因此在这种情况下函数应该返回5
我的代码
public class BitCounting {
public static int countBits(int n){
// Show me the code!
int count = 0;
while(n != 0){
if((n & 1) == 1){
count++;
}
n = n>>>1;
}
return count;
}
}
最佳代码
public class BitCounting {
public static int countBits(int n){
return Integer.bitCount(n);
}
}
总结
对Java中已实现的功能及其不熟悉
以上是关于CodeWar----求正整数二进制表示中1的个数的主要内容,如果未能解决你的问题,请参考以下文章