假设有两个整数a和b,并且我们知道a> b。我想计算我应该在b上做多少操作来获得a(通过操作我的意思是按位操作从1变为0,反之亦然)。如何计算这种变换的操作次数?将一个整数转换为另一个整数
2
A
回答
2
你在找什么叫做Hamming distance。下面是我如何在C/C++中计算它:
unsigned hamdist(unsigned x, unsigned y)
{
unsigned dist = 0;
unsigned val = x^y;
// Count the number of set bits (Knuth's algorithm)
while(val)
{
++dist;
val &= val - 1;
}
return dist;
}
4
这将是异或b中的总体数量(1位数)
1
您正在寻找Hamming distance。这是两个数字不同的位数,它给出了您的位数需要改变,以便使一个数字进入另一个。
相关问题
- 1. 将一个整数数组转换为一个字符串
- 2. 如何将一串int整数转换为一个整数数组?
- 3. 可以将一个列表转换为一个整数
- 4. 将一串数字转换为一个整数,存储结果
- 5. 如何将一串数字转换为一个整数列表?
- 6. 一个MYSQL_ROW转换为整数
- 7. 如何确保一个整数整除另一个整数
- 8. 如何将一个整数分解为一个整数数组
- 9. 转换一个16位布尔数组为一个整数
- 10. 有一个问题一个浮点数转换为整数(PHP)
- 11. 如何将一个整数数组复制到另一个整数数组
- 12. BPEL:将整数数组复制到另一个整数数组
- 13. 将整数指针转换为整数
- 14. 如何将一个4字节的数组转换为一个整数?
- 15. C++将一个整数转换为一个布尔数组的算法
- 16. 如何将一个ldap对象转换为一个Python函数中的整数?
- 17. 转换一个字符串数组,一个整数数组
- 18. 转换一个项目列表为一个整数
- 19. 找到一个整数到另一个整数的百分比
- 20. 将整数的二维ArrayList转换为整数多个ArrayLists?
- 21. 如何将一个字符串转换为一个唯一的整数在php
- 22. 转换一个句子整数
- 23. 转换的NSDate一个整数
- 24. 将一个布尔值转换为一个整数返回值为true?
- 25. jQuery将十进制数转换为整数并检查它是大于还是小于另一个整数
- 26. 将输入转换为一个整数字符串
- 27. 如何将一个热编码转换为整数
- 28. 如何将一个长整数转换为手机号码?
- 29. 如何将一个整数的值添加到另一个整数?
- 30. 将字符串转换为一个列表和转换元素为整数