[编程之美]求二进制中1的个数
来源:互联网 发布:seo房地产关键字 编辑:程序博客网 时间:2024/06/09 20:08
#include <iostream>using namespace std;//方法1,不断地除, 复杂度lgV,并且除法并不是很高效int getCount1(int v) { int sum = 0; while (v) { sum += v%2; v /= 2; } return sum;}//方法2,移位,复杂度:lgVint getCount2(int v) { int sum = 0; while (v) { sum += v&0x01; v >>= 1; } return sum;}//方法3,利用判断2的乘方幂,复杂度之和1的个数有关, 复杂度:O(M)int getCount3(int v) { int sum = 0; while (v) { ++sum; v &= v - 1; } return sum;}//方法4和方法5都是用枚举的方法,典型的以空间换时间的方法,一个是用switch分支选择的方法,还是一个是用查表的方法,不再列出int main() { int v = 7; cout << getCount1(v) << endl; cout << getCount2(v) << endl; cout << getCount3(v) << endl; return 0;}
- 编程之美之求二进制中1的个数
- 编程之美---求二进制数中1的个数
- 《编程之美》:求二进制数中1的个数
- [编程之美]求二进制中1的个数
- 【编程之美】求二进制数中1的个数
- 编程之美2.1 求二进制中1的个数
- 编程之美---求二进制中1的个数
- 【编程之美】求二进制数中1的个数
- [编程之美]求二进制表示中1的个数
- 编程之美--求二进制中1的个数
- 编程之美---求二进制数中1的个数
- 【编程之美】2.1求二进制中1的个数
- 编程之美2.1 求二进制中1的个数
- 编程之美 2.1 求二进制中1的个数
- 编程之美"求二进制中1的个数"
- 《编程之美》2.1 求二进制中1的个数
- 编程之美---求二进制数中1的个数
- 编程之美-求二进制中1的个数
- Service通过广播Broadcast更新Activity UI
- IEEE802.10 网络安全技术咨询组
- sql Statemente execute 返回值为false
- Struct和Class的区别
- .NET 中的Cache
- [编程之美]求二进制中1的个数
- IEEE802.11 无线联网
- Extjs4 日期+时间选择控件
- OpenGL织梦之旅【第三章】第3节.实现截图功能
- ViewGroup学习之绘制过程
- Android短信监听器
- Xml基础
- 二分法求数组最大最小值
- 进程与线程的区别