码迷,mamicode.com
首页 > 其他好文 > 详细

CodeWar----求正整数二进制表示中1的个数

时间:2019-03-21 01:01:09      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:cti   输入   static   public   while   this   returns   表示   input   

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的个数

标签:cti   输入   static   public   while   this   returns   表示   input   

原文地址:https://www.cnblogs.com/luo-bo/p/10568990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!