我目前正在使用 Logisim(即仅逻辑门)构建一个 16 位 ALU,并且被困在除法过程中。我目前只是使用简单的标准“除法算法循环”(如下图):
- 读取输入值;
- 比较输入值。等到比较过程完成;
- 如果A<B,转步骤10。如果A≥B,转下一步;
- 从 A 中减去 B;
- 等到减法过程完成;
- 加一数;
- 等到计数过程完成;
- 将减法过程中的值写入输入;
- 转到第 1 步;
- 答案是计数余数 A
但是,对于具有大答案的进程来说,这需要很长时间(重复 300 滴答周期 65,000 次并不有趣)。我只是想知道是否有可以使用逻辑门实现的更快的类似算法(专门使用加法和/或减法和/或乘法以及任何布尔逻辑)。任何帮助或想法将不胜感激!弗雷泽