假設有兩個整數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. 將字符串轉換爲一個列表和轉換元素爲整數