整数的二进制表示中1的个数
2015-12-14 16:26
330 查看
int getNumOf1(int n) //方法1 { int res = 0; bool flag = true; if(n < 0) { flag = false; n = -n - 1; } while(n) { res += n % 2; n /= 2; } if(!flag) { res = 32 - res; } return res; } int fun(int n) // 方法2 { int res = 0; while(n) { n &= n - 1; res++; } return res; } int main() { int n; while(cin>>n) { cout<<getNumOf1(n)<<endl; cout<<fun(n)<<endl; } }
相关文章推荐
- quake3 code 源代码 编译调试。保证通过。
- 实现WordPress主题侧边栏切换功能的PHP脚本详解
- 7 Steps for becoming Deep Learning Expert
- 第14周项目2二叉排序树中查找的路径
- SQLITE 在 ANDROID 中的详细使用
- 数据科学家必知必会的7款Python工具,你会几个?
- 十六周 项目1直接插入排序
- 第十四周项目3 二叉排序树
- 第十六周项目1(3)-冒泡排序
- JAVA 排序方法整理
- Navicat 链接虚拟机MySQL失败(GRANT ALL PRIVILEGES)
- C++ ERROR redefinition of ‘class ***’
- ios Core Data
- ppDelegate的相关介绍
- 观 万物理论 有感
- 从头开始写框架(二):孕育框架的种子_中
- 项目1.4 堆排序
- 第十三周 kruskal 算法
- 我的第一个基于python的socket程序
- 第6周项目1建立顺序栈算法库