【发布时间】:2011-03-02 18:19:55
【问题描述】:
我正在研究冗余二进制表示 (RBR) 的算法,其中每两位代表一个数字。
我设计的比较器需要 4 位并输出 2 位。我想在 log 2 n 中进行比较,所以如果我有 X 和 Y .. 我将 X 的每 2 位与 Y 的每 2 位进行比较。如果 X 或 Y 的位数等于 n,这很平滑,其中 (n = 2^X) 即 n = 2,4,8,16,32,... 等等。像这样:
alt text http://www.freeimagehosting.net/uploads/th.a57569d23f.png
但是,如果我的输入让我们说是 6 或 10 .. 那么它会变得不流畅,我必须考虑一些奇怪的情况,例如:
alt text http://www.freeimagehosting.net/uploads/th.28bd84300d.png
我在算法方面的经验很浅.. 有没有通用的方法.. 所以不管输入是什么,最后我只得到 2 位?
我只需要提示或伪代码。如果我的问题在这里不合适..请随时标记它或告诉我删除它。
顺便说一句,我正在使用 VHDL!
【问题讨论】:
标签: algorithm comparison binary-tree