《我的世界》里大家会制作加法计算器吗?知道该如何着手吗?下面小编给大家带来加法计算器原理解说及BCD全加器教程,感兴趣的可以试着自己做出来。
话说我也是小白,网上的教程太<复杂了像我们这种小白是看不懂的,如果你连此贴都看不懂不说了 转正题要想造一个加法计算器,该如何找手。
首先就是 原理 !!
1.计算器都是二进制的 。
玩mc时都可以看到一组大多为64个与16个,为嘛不是整数的?因为为了mc玩起来流畅,并没有将部分二进制转换为我们所熟知的十进制
所以要造十进制的加法计算器就要先会造二进制的,然后转换。
2.异域门可以解决大部分二进制计算
如果是二进制的计算那么
0+0=0
1+0=1
0+1=1
1+1=0[会向前进位]
而异域门可以完成大部分计算
异域门的效果是[1表示有红石信号,0表示没有]
所以就有
0+0=0
1+0=1
0+1=1
1+1=0
完全一致,还可以 但是不会进位的 而且体积过大,于是我们要对异域门进行改装
造一个竖着的要向我这样
这就是个异域门了, 而进位就要加一个与门来检测进位了
像这样
反过来这样就行了,这就是传说中的半加器!!!!
而这只是进位,而要想让进位的数加以计算的话就要 一个全加器,半加半=全。所以我们要再加一个半加器组成全加器
像这样
和前面的一抹一样 之间有上面有中矩器下面有火把来连接。
而检测部分也要连接像这样
ok之后来检测一下
完美运行;检测完后我们要把左边的去掉【一条红石线和红石灯的那部分 别去多了】
然后利用创世神!!!!!!!!!!!!
先选取全部部分
然后复制
然后占贴
一直这样四个
好了!! 在往后面在复制一个!!
这里就是输入端
为了确保复制粘贴的位置里个柱子
复制
再去掉拉杆,完工测试下
再将全部复制下再粘贴4个
中间手动连上!
最后的万位进位!!
最后
展开
《我的世界》中相信很家都知道合理的运用红石能够制作出很多智能的设备,下面就为大家带来《我的世界》纯BCD正负数浮点四则计算器介绍,感兴趣的朋友不要错过。
作品简介
断断续续做了一年多了,从最开始的想法到一步步的实现。使用方法就不必介绍了,和普通计算器一样。
方块数量:11796480
版本:1.8及以上,视距至少18chunks
总大小:144×276×136
时间:2018.2
纯bcd浮点正负四则计算器
特点是运算快,全部并行实时计算。带有前导零和后续零消除器。溢出错误屏幕左上角有提示。
加减法5秒左右,每个数8位以内,结果可以9位。乘除法分别10秒左右和2分左右,每个数有效数字4位以内,除法在除数和被除数不移动小数点的情况下,保留小数点后四位。
视频介绍
图文介绍
输入面板与屏幕
大trp与小trp
加法
减法
乘法
除法
本文是否解决了您的问题
我的世界二进制转换BCD码的规则是什么呢?这是很多高玩必须掌握的东西,可能很多童鞋对BCD码并不熟悉,但大都数玩家都应该听说过二进制,这之间的转换在游戏中是非常重要的。九游小编带来了二进制转换BCD码的方法,一起来看看下文吧!
二进制转换BCD码
二进制转换BCD码
什么是BCD码
BCD(二进制编码的十进制)是一种用4位二进制数来表示一个十进制数的方法,一个4位的二进制数可以表示出从0到15的十进制数,但是在BCD中,每4位只能组合出十进制中的0到9。
两个BCD数相加后,结果的4位数可能会出现不合法的值(0到9之外),这时我们得将它们加上6来修正(至于为什么是加6,后文会讲),这种修正被称作为“十进制数调整”(感兴趣的可以去搜索一下“十进制数加调整指令”)。
如何转换成BCD码
二进制转换成BCD码,需要用到Double Dabble算法。
实现方法
拿11111111来举例子,我们先建立一个表格,把二进制数放入右侧的二进制区,然后开始运算。
1. 当二进制区不为空时,将内容左移
2. 然后判断3个BCD区中的值是否大于4
* 若是,则将单个BCD区内的数+3处理
* 否则,不做处理
重复以上两个操作,直到二进制区为空(为空时立即停止操作,不用接着判断BCD区是否大于4)
在游戏中的实现
1.枚举
我们通常是通过“枚举”的方式来实现的,这里说的“枚举”并不是指把所有的结果列出来,而是把+3前后的取值枚举出来
通过将模块错位排列的方式实现移位操作
2.加法器
和上一个方法很相像,不过这里用到并不是枚举模块,而是加法器。同样地,先是判断是否大于4,然后用加法器来代替枚举模块进行+3的操作。
总结在游戏中+3模块的体积总是大于加法器的,常规+3模块最低延时为2Ticks,所以第一种方法是牺牲了空间,换得了较少的延时。而第二种方法是用时间换得了较小体积(当然,加法器的结构不同,运算耗时也不同,这里使用行波进位加法器作为比较对象)。
对于+3模块的优化
我们先看回刚刚的对照表,可以发现表内有4种情况是不用修正的,意味着输入是多少,输出也是多少,如果将这4组数据也放入译码编码的过程,那将会占用不少的时间(因为移位时需要+3的情况是很少的,多数情况都是不需要修正的)。
所以,我们可以对+3模块进行优化,在输入为前4种形式时,不做任何操作,直接把线接到输出那。对于其他情况做+3处理。
如转载涉及版权等问题,请作者与我司联系,我司将在第一时间删除或支付稿酬。