跑跑车首页

当前位置:首页攻略秘籍单机攻略 → 我的世界十进制三位数比较器原理分析

我的世界十进制三位数比较器原理分析

作者:ufof来源:本站整理 发表时间:2015/5/28 16:52:52 评论(0)

我的世界中比较器是一个比较有意思也比较有难度的东西,那么今天小编给大家带来的是MCBBS的ufof带来的十进制三位数比较器原理的分析,希望大家喜欢。

比较器一共有四个部分:

一、输入部分
二、数字显示屏
三、数字比较器
四、比较显示屏

先上一张图:

现在应该明白了吧?我们重点分析第三个部分:比较部分。

我们平常在生活中比较数字的时候,逻辑是这样的:

两个数字:A和B

先比较A的百位数和B的百位数:
如果A的百位数>B的百位数,那么A>B
如果A的百位数<B的百位数,那么A<B
如果A的百位数=B的百位数,那么往下比较十位数

如果A的十位数>B的十位数,那么A>B
如果A的十位数<B的十位数,那么A<B
如果A的十位数=B的十位数,那么往下比较个位数

以此类推。最后连个位数都一样的话那就说明A=B。

这是我们生活中的逻辑。不过在我的比较器中稍稍有一些改变(虽说基本逻辑是一样的):


就是说,A和B每一个位数都要进行比较。
如果A的百位数和B的百位数比较结果不为=,那么结果是什么就输出什么,而且十位数和个位数的结果作废。
如果A的百位数和B的百位数比较结果为=,那么就要看十位数的了。

如果A的十位数和B的十位数比较结果不为=,那么结果是什么就输出什么,而且个位数的结果作废。
如果A的十位数和B的十位数比较结果为=,那么就要看个位数的了。

最后比较A的个位数和B的个位数,是多少输出多少。

听到这里一定一头雾水吧?为什么要“作废”?原因是这样的:

比如说我要比较这两个数字:
432 342
A的百位数是4,B的百位数是3
A的十位数是3,B的十位数是4
A的个位数是2,B的个位数是2

A的百位数>A的百位数
A的十位数<B的十位数
A的个位数=B的个位数

如果没有“作废”动作,你就会发现:卧槽!!  大于、小于、等于都亮了!

所以说就得要有“作废”的机制。不然会出现混乱。

具体的逻辑我已经讲完了,现在再来讲讲如何应用到MC当中去。

关于比较:
先上整体图:

比较单位数是这样的:
比如说A的百位数为x,B的百位数为y

那么我们需要:
x-y
y-x

如果x-y>0,那么x>y
如果y-x>0,那么y>x
如果都为0,那么x=y

上图就是一位数的比较。

那“作废”是如何达到的呢?

这是一个十位数的输出。活塞由百位数的输出控制。如果活塞推动,那么十位数的输出会被强行阻断。这就是“作废”原理。

再来说说最终输出:

这个是大于和小于。但是你现在肯定会问:等于呢??

等于在后面:

如果两个数字既不大于也不小于,那就肯定是等于。所以我把两个信号的或门去了一个非门,这样就可以达到:两个都为关的时候输出为开。


玩家评论
我要点评

网名 注:您的评论需要经过审核才会显示出来。

已有 0 位玩家参与点评
下载排行