minecraftpe红石吧 关注:5,178贴子:42,602

加减乘混合器[教程]

只看楼主收藏回复

在明天[15号]中午1点前禁止回复本贴


来自Android客户端1楼2016-01-15 01:14回复
    推迟更新,因为刚起床


    来自Android客户端6楼2016-01-15 12:51
    收起回复
      首先我声明一下,我不会在教程里教与 或 非 异或这几个逻辑门在Minecraftpe怎么造,自己找方法
      其次,我教的时候会用电路图来教,不会在Minecraft专门造一个(0.13.1bug多,没中继器,懒得造)


      7楼2016-01-15 13:15
      收起回复
        首先我们要知道,加法是通过全加器来计算,后者减乘除都是加法的改进,那我们可以通过极限压缩的造法省下一堆全加器
        先说加法,二进制的加法是满二进一。那么计算方式如下,假设计算7+11,那过程就是这样的
        计算过程就是0位上的2个一相加,满二就向1位上进1,然后因为1位也满二进一,但是下面也有进位所以1位是进一后还保持输出一(因为满二进一,下有进位保持输出一)
        所以半加器的电路图如下

        真值表如下
        输入输出
        A B C S
        0 0 0 0
        0 1 0 1
        1 0 0 1
        1 1 1 0


        8楼2016-01-15 13:33
        收起回复
          接下来我们将加减混合
          首先,我们先了解二进制减法计算,二进制减法运算是通过反码、补码进行的。
          二进制减法计算有几种可能性就是
          A > B = C
          A < B = -C
          A = B = 0
          所以,加减混合也会变得复杂一点
          首先第一种可能性的计算如下

          在第一种可能性中,我们看到,A>B先用到了反码然后补码后在相加
          接下来我们讲第二种可能性计算如下

          ‘为什么是-4呢,因为减法中最高位是符号位,所以加一个非门就是输出1变0就是正数,输出0变1就是负数,所以结果是-4,我们看到A<B计算先是B反码,然后相加,输出结果后再反码,那么第二种结果就这样结束了


          10楼2016-01-15 14:33
          收起回复
            接下来讲 第三种结果就是A=B=0,首先,计算如下

            我们看到,第三种结果计算中,过程和第二种一样,但是最高位还是0,会被非门变成1,怎么办呢,所以在最高位加一个判断,当A=B时,最高位无视非门直接输出
            第三种就讲完 了,接下来讲加减混合的线路


            11楼2016-01-15 14:42
            回复
              首先,这是一个全加器

              这是一个4bit全加器

              然后,我们把减法需要的反码(用非门)补码(最高位加1)用数据选择器分类并且添加上去

              这样只有第一种结果且要手动的电路就完成了
              ,接下来我们继续弄第二第三种


              12楼2016-01-15 14:52
              回复
                我们知道,第二第三种需要结果也反码,那么,我们在输出加一个数据选择器和在前面加一个数值比较器来完成自动工作。

                这样,一个自动判定的加减混合器就完成了
                接下来将乘法in加减乘混合器


                13楼2016-01-15 15:06
                收起回复
                  接下来我们讲乘法,二进制乘法其实是通过加法的移位计算,二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:
                  0×0=0
                  0×1=1×0=0
                  1×1=1
                  如下图

                  由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。
                  所以,得出如下电路图

                  乘法就这样讲完了,接下来加减乘混合


                  14楼2016-01-15 15:27
                  收起回复
                    加减乘混合器其实就是加减使用乘法其中一排的全加器,如下图,点击查看原图(清晰)

                    虽然画的有点乱,但是在Minecraftpe造可以很美观不乱,前提是你排线好,好了,本次教程结束


                    15楼2016-01-15 16:29
                    收起回复
                      无耻加精


                      来自Android客户端16楼2016-01-15 16:31
                      回复
                        应该用minecraft维基百科里那个模拟红石的软件做,会比较直观和容易理解。


                        IP属地:河南来自手机贴吧18楼2016-01-15 21:11
                        回复
                          这布线……


                          IP属地:北京来自Android客户端20楼2016-01-16 11:49
                          回复
                            然后十位的减法不会了。
                            23
                            -46
                            =-23
                            0010 0011
                            +1011 1001
                            =1101 1100??
                            反0010 0011?


                            IP属地:江苏来自Android客户端21楼2016-01-17 16:55
                            收起回复