Codewar - Bit Counting
Codewar - Bit Counting
圣洁之子 发表于1年前
Codewar - Bit Counting
  • 发表于 1年前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

Write a function that takes an (unsigned) integer as input, and returns the number of bits that are equal to one in the binary representation of that number.

Example: The binary representation of 1234 is 10011010010, so the function should return 5 in this case.

package poj;
public class BitCounting {

	public static int countBits(int n){
		String binaryStr = Integer.toBinaryString(n);
		int count = 0;
		for(int i=0; i<binaryStr.length(); ++i){
			if(binaryStr.charAt(i) == '1'){
				count++;
			}
		}
		return count;
	}
}
package poj;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;


public class BitCountingTest {
  @Test
  public void testGame() {
    assertEquals(5, BitCounting.countBits(1234)); 
    assertEquals(1, BitCounting.countBits(4)); 
    assertEquals(3, BitCounting.countBits(7)); 
    assertEquals(2, BitCounting.countBits(9)); 
    assertEquals(2, BitCounting.countBits(10)); 
  }
}

 

共有 人打赏支持
粉丝 5
博文 216
码字总数 80020
×
圣洁之子
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: