2010-07-14 100 views

回答

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。這是兩個數字不同的位數,它給出了您的位數需要改變,以便使一個數字進入另一個。

相關問題