位运算之统计二进制数中1的个数

题目:输入任意十进制数转为二进制并且统计二进制中1出现的次数

样例:

输入:

10

输出:

1010

2

tip: 二进制数减一 可视为从最低位为1往后取反 eg:1010 - 1 = 1001 ,在将

(1010)&(1001)做与运算,即可消去第一位1,即1000,即统计减一的次数

,直到消去所有的1,即为1的个数。

(Java)代码如下:

public static void main(String[] args) {

int count = 0;//统计减1次数

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

System.out.println(Integer.toString(n, 2));//二进制输出

while(n != 0) {

n = n&(n-1);

count++;

}

System.out.println(count);

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、常量与变量 程序执行中值不会变化的为常量,会变化的为变量。如定义一个常量PI,表示圆周率,圆周率不会改变;定义...
    元富阅读 4,151评论 0 0
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 8,554评论 0 19
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 8,580评论 0 9
  • 我的拖延症有多厉害。我自己也不知道。可我的身体知道。 我是一颗庞大机器里螺丝钉,却因为晚睡难起而迟到,会议超过三十...
    东大伯阅读 3,146评论 0 2
  • “父亲的酒窖”广告策划分析 一、产品 “父亲的酒窖”2个系列的产品 二、3个基本核心问题 1.给谁看 25~35岁...
    父亲的酒窖阅读 1,859评论 1 3

友情链接更多精彩内容