我的世界BIN转BCD的演算方法与过程介绍,本文把Units、Tens、Hundreds和他们所处的那一列统称为1组,另外Binary和它所在的那一列不算一组,下面我们一起来看看详细制作过程。
BIN转BCD的操作方式
1组数据对应一个显示屏(2进制输入的)
2进制数有多少位就把它往左移多少位
3左边的英文是操作,shift是移位,add是加
4 Binary那一列在最后可以省略1.把binary数向左移一位
2.如果Units,Tens,Hundreds这三组的数据中有大于或等于5的,就把那组数据加3(1次移位只加1次)
3.如果移位未完成,那就返回步骤1,否则终止操作并输出数据
我们以123为例来演算一遍(我会把组里的数字高亮)
123的二进制数是0111 1011
我们先将其左移1位,得到1111 0110
目前还在binary那列里,所以继续移位
得到00011110 1100
组里的数字小于5,继续移
得到00111101 1000
继续移位
得到01111011 0000
可以看到Units组里的数字已经大于5了,所以把当前该组里的数据+3处理
得到10101011 0000
继续移位
得到000101010110 0000
Units组里的数字等于5,所以再加3
得到000110000110 0000
继续移位
得到001100001100 0000
继续移位
得到011000011000 0000
这次是Tens里的数据大于5了,所以+3处理
得到100100011000 0000
因为我把2进制数前面补了一个0,所以变成了8位的数据,现在还差最后一次的移位
得到0001001000110000 0000
终止操作,输出最终数据
我之前说过,binary那列在最后可以省略,那么结果就是0001 0010 0011了,我也说过1组数据对应1个2进制显示屏,所以我们分组看,第一组变成十进制数就是1,第二组就是2
第三组就是3
+3模块的真值表
下面的就是成品图了。