#include<stdio.h>
#include<stdlib.h>
int print_one_bits01(unsigned int value){ //0000 1111
//&0000 0001 value右移i次 每次和1 &运算
int count = ;
int i = ;
for (; i <; i++)
{
if (((value >> i) & ) == )
count++;
}
return count;
}
int print_one_bits02(unsigned int value){ //移位操作符不会改变值大小,需要用=赋值
int count = ; //思路: i=0000 0001
int i = ; // value=0000 1111 &1 for (i = ; i != ;i<<=) // value>>=0000 0111
{ // i=0000 0010 i只是测定是否溢出 value自己右移和1比较
if ((value & ) == )
{
count++;
}
value = value >> ;
} return count;
}
int print_one_bits03(unsigned int value) //每次运算n消去二进制最后一位1
{
int count = ;
while (value!=){
value = value&(value - );
count++;
}
return count;
}
int main(){
printf("%d\n", print_one_bits01());
printf("%d\n", print_one_bits02());
printf("%d\n", print_one_bits03());
system("pause");
return ;
}

最新文章

  1. [Head First设计模式]山西面馆中的设计模式——建造者模式
  2. rsync组合inotify-tools完成实时同步[转]
  3. Weka初步
  4. SVN提交忽略*.class、.classpath、.mymetadata、.project、.settings、.myeclipse和其他非版本控制文件
  5. elasticsearch文档-analysis
  6. MyBatis 3 User Guide Simplified Chinese.pdf
  7. 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
  8. 【刷水】之USACO2008资格赛(Bzoj1599-1603)
  9. leetcode1029
  10. Binary Analysis Tool安装使用教程
  11. 20 约束 异常处理 MD5 日志
  12. python r(不进行转义)的用法
  13. python模块补充
  14. java restful接口
  15. EasyUI 验证
  16. .Net Core Nuget还原失败
  17. python基础学习1-列表推导式和字典推导式
  18. python 开发在线音乐播放器-简易版
  19. 201621123005《Java程序设计》第十一次实验总结
  20. Linux菜鸟入门级命令大全

热门文章

  1. Win8 Pro 64 Install .net3.5 在线升级会遇到错误0x800F0906。
  2. 如何开放 Azure 虚拟机 Ping 功能
  3. Redis安装及配置
  4. c#利用三层架构做一个简单的登录窗体
  5. WAKE-WIN10-SOFT-MATio
  6. Ajax 重构的步骤
  7. VMware,win7与linux centos6.4文件互传,linux下挂载windows共享文件夹,vmware tools安装方法
  8. CFS调度分析(内核版本:2.6.34)
  9. Codeforces Round #333 (Div. 1)
  10. POJ 2942 圆桌骑士