x=x|(x+1);和x=x&(x-1)?
例:如果x=2014,下面函数的返回值是()?
{     
int n=0;
       while((x+1))
     
    {      
        n++;      
       x=x|(x+1);  
  }   
       return n;
}

答案:23

(1)x&(x-1)统计1的个数,x|(x+1)统计0的个数
(2)这个作用是对整型中0的个数进行统计,x=x|(x+1);的作用是每次循环把x的二进制中从右往左数的最后一位0变成1,直道变成全1的时候x+1就溢出为全0,循环结束。
2014的二进制是0000 0000 000 0000 0000 0111 1101 1110,所以结果是23
还有类似的题目,迭代式为x=x&(x-1),作用是统计x二进制中1的个数

最新文章

  1. 字符串函数用法 php,PHP字符串函数print()的用法
  2. Linux下利用rsync实现网站镜像同步
  3. C++ 设计People类-1
  4. centos7输入shell找不到命令_反弹shell原理与实现
  5. opencv对应python版本_【求问各位大佬python3.6怎么使用opencv,用哪个版本】python3 opencv...
  6. android jni 中jnienv,android JNI中JNIEnv類型和jobject類型的解釋
  7. 端口镜像 流量过滤_在 AWS 云环境中滥用 VPC 流量镜像抓取网络流量
  8. 明明白白你的Linux服务器——网络篇(2)
  9. Sqlserver2012 评估期已过解决问题
  10. Java自学之路(新手一定要看)
  11. 一个针对.net的好的建模工具 powerdesign 11
  12. FZU《C语言程序综合设计》
  13. win10的ios镜像
  14. 怎么网上兼职赚钱?盘点5个互联网赚钱的方法!
  15. C语言求两点之间的距离程序,C语言求空间两点之间的距离
  16. 【Unity 3D】简易小车游戏
  17. 构建一个代号为1的聊天应用程序4
  18. FM收音机入门,以及Python实现FM调制解调
  19. 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
  20. 那么浙江大学软件工程专业复试考试内容有哪些

热门文章

  1. 正确使用索引(sql优化),limit分页优化,执行计划,慢日志查询
  2. 不使用先验知识与复杂训练策略,从头训练二值神经网络!
  3. rsync的配置应用
  4. Chrome Extension in CLJS —— 搭建开发环境
  5. Zepto源代码分析之二~三个API
  6. MySQL 使用explain查看执行计划
  7. 把window中换行符(^M)改为linux的换行符(\r)
  8. HTML5 progress元素的样式控制、兼容与实例
  9. hibernate 继承映射
  10. java实现对HDFS增删改查(CRUD)等操作