C++ 我应该如何存储和计算二进制代码之间的汉明距离?
如何有效地存储二进制代码?对于某些固定大小,例如32位,可以使用基本类型。但是如果我的二进制代码长得多怎么办C++ 我应该如何存储和计算二进制代码之间的汉明距离?,c++,math,hash,hamming-distance,C++,Math,Hash,Hamming Distance,如何有效地存储二进制代码?对于某些固定大小,例如32位,可以使用基本类型。但是如果我的二进制代码长得多怎么办 计算两个二进制码之间的汉明距离的最快方法是什么 使用,在标题中定义,其中N是位数(而不是字节) 使用(a^b).count()计算两个二进制代码a和b之间的汉明距离 关于std::bitset呢?我不明白如果使用30位代码,我还可以使用32位整数呢?(可能会以某种方式屏蔽前2位)?@mrglud我会使用这种方法,对其进行分析,然后只有当您确定它太慢时,才考虑执行自定义操作。我的理解是,一
标题中定义,其中N
是位数(而不是字节)(a^b).count()计算两个二进制代码a
和b
之间的汉明距离
关于std::bitset呢?我不明白如果使用30位代码,我还可以使用32位整数呢?(可能会以某种方式屏蔽前2位)?@mrglud我会使用这种方法,对其进行分析,然后只有当您确定它太慢时,才考虑执行自定义操作。我的理解是,一个
std::bitset
将只使用4字节的存储空间。很好的Timothy,也许你能帮上忙。