博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二进制中1的个数
阅读量:5023 次
发布时间:2019-06-12

本文共 453 字,大约阅读时间需要 1 分钟。

题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

分析:首先把n和1做与运算,判断n的最低位是不是1。接着把1左移一位得到2,再和n做与运算,就能判断n的次低位是不是1。这样反复左移,每次都能判断n的其中一位是不是1。 

1 public class Solution { 2     public int NumberOf1(int n) { 3         int count=0; 4         int flag=1; 5         while(flag!=0){ 6             if((n&flag)!=0){ 7                 count++; 8             } 9             flag=flag<<1;10         }11         return count;12     }13 }

 

转载于:https://www.cnblogs.com/JingM/p/10990799.html

你可能感兴趣的文章
Android Studio默认快捷键
查看>>
发布开源库到JCenter所遇到的一些问题记录
查看>>
第七周作业
查看>>
函数式编程与参数
查看>>
flush caches
查看>>
SSAS使用MDX生成脱机的多维数据集CUB文件
查看>>
ACM_hdu1102最小生成树练习
查看>>
MyBatis源码分析(一)--SqlSessionFactory的生成
查看>>
android中ListView点击和里边按钮或ImageView点击不能同时生效问题解决
查看>>
CTF常用工具之汇总
查看>>
java的面向对象 (2013-09-30-163写的日志迁移
查看>>
HDU 2191 【多重背包】
查看>>
51nod 1433 0和5【数论/九余定理】
查看>>
【AHOI2013复仇】从一道题来看DFS及其优化的一般步骤和数组分层问题【转】
查看>>
less 分页显示文件内容
查看>>
如何对数据按某列进行分层处理
查看>>
[Qt] this application failed to start because it could not find or load the Qt platform plugin
查看>>
Git Submodule管理项目子模块
查看>>
学会和同事相处的30原则
查看>>
NOJ——1568走走走走走啊走(超级入门DP)
查看>>