52997

How should I store and compute Hamming distance between binary codes?

Question:

<ol><li>

How can I efficiently store binary codes? For certain fixed sizes, such as 32 bits, there are primitive types that can be used. But what if I my binary codes are much longer?

</li> <li>

What is the fastest way to compute the Hamming distance between two binary codes?

</li> </ol>

Answer1:

<ol><li>Use <a href="http://en.cppreference.com/w/cpp/utility/bitset" rel="nofollow">std::bitset<N></a>, defined in the <bitset> header, where N is the number of bits (<em>not</em> bytes).</li> <li>Compute the Hamming distance between two binary codes a and b using (a ^ b).count().</li> </ol>

Recommend

  • Fast hiding of intersecting rectangles
  • SQL Server 2008 INSERT Optimization
  • What icons required for app to submit to MAC App Store?
  • Fastest array lookup algorithm in C for embedded system?
  • Submitting two different forms with an external Submit button not working properly
  • Chef recipe for RoR Heroku
  • Multiple Layouts Previews for Android in Eclipse
  • Extracting infromation from multiple JSON files to single CSV file in python
  • parallelize process in missForest package
  • how to save bool value in KeychainItemWrapper
  • Furthest-point Voronoi diagram in Java
  • Getting errors while using neuralnet function
  • c++ using primitive types as a base class
  • Backward compatibility of Python 3.5 for external modules
  • Scala: Function returning an unknown type
  • Efficient & Pythonic way of finding all possible sublists of a list in given range and the minim
  • Efficient User-Agent Regex to find Safari in Python
  • What causes the runtime difference in this trivial fortran code?
  • Wrong labels when plotting a time series pandas dataframe with matplotlib
  • Hibernate to update table schema
  • perl, mysql - fasting way to upload a csv file into mysql?
  • DIV instruction jumping to random location?
  • Cast between interfaces whose interface signatures are same
  • C# program and C++ DLL compiled for 32-bit system crash on 64-bit system
  • Z3: Convert between FP and BitVector?
  • What and where is mdimport
  • OOP Javascript - Is “get property” method necessary?
  • Alternative To body {overflow:scroll;} That Will Prevent Page Jostling/Wriggling?
  • Abort upload large uploads after reading headers
  • C++ Partial template specialization - design simplification
  • How do I change content of ComboFieldEditor?
  • Javascript simulate pressing enter in input box
  • Date difference with leap year
  • Statically linking a C++ library to a C# process using CLI or any other way
  • Weird JavaScript statement, what does it mean?
  • How do you troubleshoot character encoding problems?
  • Do I've to free mysql result after storing it?
  • retrieve vertices with no linked edge in arangodb
  • SQL merge duplicate rows and join values that are different
  • How can I get HTML syntax highlighting in my editor for CakePHP?