判断一个数(x)的二进制含有几个1

int func(x)
{ int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx;
}  

假定x = 9999。 答案:8

思路:将x转化为2进制,看含有的1的个数。

判断一个数(x)是否是2的n次方

int func(int x)
{if( (x&(x-1)) == 0 )return 1;elsereturn 0;
}

注:

(1) 如果一个数是2的n次方,那么这个数用二进制表示时其最高位为1,其余位为0。

(2) == 优先级高于 &

转载于:https://www.cnblogs.com/nanqiang/p/9965015.html

最新文章

  1. RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分
  2. 虚方法、重写方法和抽象方法[转载]
  3. Java的List遍历
  4. Java文件读取 中文乱码
  5. cursor 的moveToFirst和moveToNext和moveToPrevious以及moveToLast
  6. 如何在 ASP.Net Core 中使用 Lamar
  7. 什么是数字光端机?数字光端机使用注意事项详解!
  8. java 负载均衡_java负载均衡 - 岁月静好I的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 无界面chrome + selenium爬虫
  10. 华为这款无线耳机斩获11项IFA大奖,11月正式上市
  11. rs422 波特率高错误_质量流量计的应用问题与常见错误代码的故障处理
  12. java 快逸报表_数据填报 | 快逸报表工具-Java报表软件
  13. java三大特性面试回答_面试题解3-Java的三大特征
  14. Matlab矩阵转置注意事项
  15. 内网穿透工具NatApp使用教程
  16. 苹果屏幕上的小圆点_官网新增2个内购软件 ! iOS 14上最值得使用的5个好功能,你都会了吗?...
  17. 电源纹波和电源噪声有什么区别?
  18. Python(4)print一个10行10列的星星图案
  19. 微信文章排版技巧和相关排版工具
  20. saas平台相关内容

热门文章

  1. __iter__ 和 __next__
  2. bzoj2427: [HAOI2010]软件安装
  3. js 调用C#.NET后台方法 转载自:http://www.cnblogs.com/lizhao/archive/2010/11/23/1990436.html...
  4. 我的第一个Windows Phone 7应用程序
  5. % %和ltscripte runat=server的区别
  6. SqlServer2012清除日志文件
  7. ubuntu自动登录tty1(shell,text)配置
  8. 软件开发项目进度控制浅谈
  9. Oracle中验证非空的函数NVL(),NVL2()总结
  10. python推荐淘宝物美价廉商品 2.0