我遇到了这个问题,我无法在教科书或互联网上找到它。看起来很独特。
我想会有一些比较器和加法器,但我不知道从哪里开始。
答案 0 :(得分:0)
第一步无疑是对两位集进行异或。然后,您需要计算输出中逻辑1的数量。设计电路的最佳方法是对this question中讨论的黑客进行完全类比,并在其answer中由nneonneo完美解释。这将导致加法器的最佳树,而不是依赖于顺序计数。我们的想法是,在每一层中,您都知道如何限制输入子集的最大可能总和,以及它将适合多少位,从而消除了对进位的需要。编程方法设计为32位,但很容易修改为少于或多于此。
有关计算汉明重量的更多可能算法,请参阅this link。