1. 首页 > 网游资讯

和门游戏中的除法器设计 与门游戏

作者:admin 更新时间:2026-03-19
摘要:在与门这款游戏中,由于无法表示小数且缺乏时序电路,除法运算需以商…余形式实现。本文将带你深入并行除法器的设计思路,巧妙利用减法器、与门修正和异或门标记,精准计算出商与余数。以上是7÷2=3.....1和7÷4=1..。, 和门游戏中的除法器设计 与门游戏

 

在和门这款游戏中,由于无法表示小数且缺乏时序电路,除法运算需以商…余形式实现。这篇文章小编将将带你深入并行除法器的设计思路,巧妙利用减法器、和门修正和异或门标记,精准计算出商和余数。

以上是7÷2=3.....1和7÷4=1....3

前言:

由于游戏机制限制,无法显示小数且缺乏显示器,因此无法处理n÷0错误及小数运算,仅能实现被除数除以除数等于商余余数的形式。除了这些之后,因缺少时序电路和锁存结构,无法采用串行除法器和串行乘法器,只能选择并行方法实现相关运算功能。

并行除法器基于同时运算实现快速 division。

通过减法器连续相减实现三位数除法运算。

由于111除以1等于于7除以1,因此在设计时需思考最多连续减7次的情况,实际操作中也许无需减满七次。

设计三位除法器需连续减七次,因此需要七个减法模块,对应七组每组三个的全加器结构。

商界应对之策

通过减法器中大数减小数结局的符号位为1、小数减大数符号位为0的特性,可判断减法执行次数,从而确定商的值。图中橙色模块即为连续进行七次减法运算的单元。

比如110÷010=011....0的计算

可按下面内容流程操作:

110-010=1 100

100-010=1 010

010-010=1 0

共减了三次。

因此商数为011。

符号位含三个1。

将三个1相加(001+001+001=011),结局即为商011。

实际设计中,减法器处理小数减大数时存在缺陷,也许导致下次运算结局的符号位错误地变为1。

通过和门对第一次相减后符号位为0的全部后续符号位进行处理,将其统一置为0,以纠正减法器运算中的错误结局,该修正经过即图中浅绿色模块所示部分。

将经过和门调整的符号位在黄色模块内相加,即可得出准确的商值。

这里是7÷2=3...1

余的化解:

观察上文,经和门修正后的符号位为

1 1 1 0 0 0 0

注意,最右侧最后壹个1正下方的数值即为余数。

希望在余数对应位置标1,其余位置标0。

通过和门可筛选出所需余数。

具体该怎样操作?

思考过用异或门吗?

为这些符号位分配编号。

1 1 1 0 0 0 0

1 2 3 4 5 6 7

将12个符号位经异或门处理后输出为0,用于标识余数1;而减法器中第一组全加器的结局显示,实际正确余数应为3。

对23的符号位进行异或运算得0,用于标识余数2。

......

给67符号位用....

需注意,上述流程中唯有对34进行特定操作可得1,该步对应的余数为3。

这样是否实现了仅用1来标记余数3的目标?(标记余数3的操作由图中深绿色区域的异或门完成。)

通过和门筛选所需余数,再经或门整合线路输出结局,图中白色和灰色区域即为对应模块。

成功化解了除法器的难题。

如有疑问请在点评区留言,欢迎共同探讨探讨。

真的不给精帖吗?