2014-10-02 39 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