给定两个整形,求彼此二进制的不同位数
2016-12-22 16:28
274 查看
求两数的二进制的不同位,可以想到用异或,得到的值再求1的个数即可
<?php function hammingDistance($x, $y){ $xor = $x ^ $y; $count = 0; while($xor != 0){ $xor = $xor & ($xor - 1); ++$count; } return $count; }
相关文章推荐
- 给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?
- 给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?
- 给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?
- 给定两个正整数A和B,把A变成B需要几位?也就是说A和B之间的位数有多少个是不同的?
- 给定两个正整数A和B,把A变成B需要几位?也就是说A和B之间的位数有多少个是不同的?
- 1. 给定两个整形变量的值,将两个值的内容进行交换。 2. 不允许创建临时变量,交换两个数的内容(附加题) 3. 求10 个整数中最大值。 4. 写一个函数返回参数二进制中 1 的个数
- 1. 给定两个整形变量的值,将两个值的内容进行交换。 2. 不允许创建临时变量,交换两个数的内容(附加题) 3. 求10 个整数中最大值。 4. 写一个函数返回参数二进制中 1 的个数
- 给定两个整形变量的值,将两个值的内容进行交换。
- C 两个整数m和n的二进制表达中,有多少个位不同
- 二进制中1的个数,二进制奇偶位的二进制序列,一个整数的每一位,两个整数二进制中有多少个不同位
- 用C语言实现给定两个整形变量的值,将两个值的内容进行交换。(4种方法)
- 求出两个int(32位)整数m和n的二进制表达中,有多少bit位不同
- 计算两个整数的二进制中有几个二进制不同
- [置顶] 给定两个整形变量的值, 但是不允许建立临时文件将两个值得内容进行交换。
- 给定两个整形变量的值,将两个值的内容进行交换
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 4.编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
- poj 1741 Tree(给定一棵树,对于两个不同的节点a,b,满足dist(a,b,)<=k的点对数)
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同