2014-10-02 86 views

回答

5
  1. 使用std::bitset<N>,在<bitset>頭,其中N爲比特(字節)的數目來定義。
  2. 使用(a^b).count()計算兩個二進制代碼ab之間的漢明距離。
+0

我不明白如果使用30位代碼我仍然可以使用32位整數?(也許掩碼2第一位以某種方式)? – mrgloom 2014-10-02 20:36:51

+0

@mrgloom我會使用這種方法,分析它,然後只有當你確定它太慢看做自定義的東西。我的理解是'std :: bitset <30>'只會使用4個字節的存儲空間。 – 2014-10-02 20:41:45

+0

好蒂莫西,也許你可以幫助[二維位集存儲爲1D時異或bitset](http://stackoverflow.com/questions/40787731/xor-bitset-when-2d-bitset-is-stored-as-1d )。 – gsamaras 2016-11-24 13:32:18