位运算判断2的n次幂:

   举个栗子,n = 8;则二进制表示就为1000,n-1则为 0111 取&刚好等于0

   嘿嘿,巧妙吧。

   再举个栗子,n = 7; 则二进制为 0111,n-1则为0110 取&则不为0

   嘿嘿,也没问题,不过这个算法仅限于无符号数。

bool is_power_of_2(unsigned long n)
{
  return (n != && ((n & (n - )) == ));
}

  顺便说一下如何判断2的倍数,其实很明显,把奇数转成二进制后,最后一位一定是1,所以只需要判断一下 n & 1就行了

学习不易,诸君共勉!

最新文章

  1. Npoi导出Excel 实战篇(Webform)
  2. void 关键字
  3. Android笔记:获取屏幕信息
  4. 关于禁止ipad的home键解决方法
  5. OpenGL开发环境配置-Windows/MinGW/Clion/CMake
  6. HashSet与HashMap、Hashtable
  7. django 常用命令
  8. 自定义UITableViewCell时, 使用autoLayout, 无法很好的做到屏幕适配
  9. centos之tomcat安装
  10. hdu1075What Are You Talking About (字典树)
  11. Windows Phone开发(25):启动器与选择器之WebBrowserTask
  12. .NET MVC通过反射获取数据修
  13. [USACO11NOV]牛的障碍Cow Steeplechase
  14. 如何使用git 发布源码到CodePlex
  15. Python打印乘法口诀表
  16. OC中成员属性 成员变量
  17. C#模板设计模式使用和学习心得
  18. vmware vcsa-6.5 网络架构之虚拟机的标准交换机
  19. android_安装包_NoClassDefFoundError
  20. File的方法

热门文章

  1. 「Luogu P1383 高级打字机」
  2. [mjpeg @ ...] unable to decode APP fields: Invalid data found when processing input
  3. jmeter学习笔记一foreach控制器
  4. 网络协议-webService协议
  5. PAT B1019/A1069 数字黑洞
  6. Hadoop入门概念
  7. Day2-K-Red and Black-HDU1312
  8. 前端学习笔记系列一:10整体移动vscode代码块、VSCode 使用 stylus,配置格式化设置、在vue项目中引入bootstrap
  9. ROS-3 : Catkin工作空间和ROS功能包
  10. Vue-cli3与springboot项目整合打包