两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?(异或的用法)
2016-06-17 18:36
344 查看
#include <stdio.h> int main() { int m,n; int a,count=0; scanf("%d%d",&m,&n); a=m^n; //m与n比较,相异为1 while(a) //此循环是在计算1的个数 { count++; a=a&(a-1); //每次把从右边起的第一个1去掉,相当于减少一个1 } printf("%d\n",count); return 0; }
本文出自 “追寻内心的声音” 博客,转载请与作者联系!
相关文章推荐
- 猴子吃桃
- 小球落下,反弹问题
- 有一个分数序列 2/1+3/2+5/3+8/5+13/8+…求出这个数列前 20 项的和。
- 3个人说了真话,1个人说的是假话。写一个程序来确定到底谁是凶手
- 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现
- 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
- 五次作业后的感悟
- 我的nginx+php是如何配置的?
- 如何通过HTML标记或JS代码实现跳转返回页面顶部
- jsp页面存放位置
- 在php中的数组总添加一个元素
- 十道腾讯软件开发工程师面试题
- 安利一个加密算法
- 周五课件---文件的重定向
- 下拉列表多选的时候如何获取值
- HTML学习笔记之二(回到顶部 与 回到底部)
- dot.js
- Expetion(POJ2431)
- Android Touch事件全解析
- Java内存模型与多线程数据可见性和操作的有序性