package com.atzhanyuan.java;
/**
*二进制中1的个数
*
* @author hylstart
* @create 2021-12-31 14:52
*/
import java.util.Scanner;
public class case02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
System.out.println(Integer.toString(N,2));//输出该数字的二进制形式
//方法一:左移1并与原二进制相 &
// int count = 0;
// for (int i = 0; i < 32; i++) {//一定是32,而不是N,因为int类型是32位二进制
// if ((N&(1<<i)) == (1<<i))
// count++;
// }
//方法2:(x-1)&x
int count = 0;
while (N != 0){
N = (N-1)&N;
count++;
}
System.out.println(count);
}
}
case05:二进制中1的个数
最新推荐文章于 2024-11-14 20:42:47 发布